Vim的使用入门
一直都想写关于vim的使用教程,因为在很多的场景下不得不去使用vim去编辑文本,今天有时间就相关的常用的命令整理下(本文只适合入门的读者,想获得高级教程请止步) ,工具只要经常的使用自然就能熟能生巧。
vim概述
vim是linu下面常用的文本编辑工具,可以使用 vim -v 来查看有没有安装,如果没有安装可以使用 以下命令安装:
sudo apt-get install vim
vim 有两种模式,命令模式和插入模式。从字面的意思很容易理解两者的用的情景:
命令模式:在这个情况下每一个字符都是一个命令 ,如果想转换成插入模式直接输入插入命令即可(a,A,i,I等)
插入模式:可以正常的输入文本,使用esc可以切换成命令模式
vim 使用
打开、新建、保存、退出
打开和新建文件
vim 1.txt //如果1.txt存在直接打开,如果不存在直接新建
上面的命令是在命令行中直接使用的,如果我们已经打开了一个文件,又想再打开文件:
:e 1.txt
如果想打开多个文件,可以直接在后面跟上多个文件名,用空格隔开.
vim 1.txt 2.txt
- 保存和退出
命令 Demo 相关功能 :w :w 保存 :w fileName :w save.txt 另存为 :wq或者ZZ :wq或者ZZ 保存并退出 :q! :q! 不修改直接退出 :wq! :wq! 保存并退出(root用户才能使用)
- 保存和退出
插入、删除、跳转
命令 | Demo | 相关功能 |
---|---|---|
a | a | 在光标所在位置后插入 |
A | A | 在光标所在行尾插入 |
i | i | 在光标所在字符前插入 |
I | I | 在光标所在字符行首插入 |
o | o | 在光标下插入 |
O | O | 在光标下插入 |
x | x | 删除光标所在处字符 |
hjkl | hjkl | 移动光标 |
gg | gg | 跳转到第一行 |
G | G | 到最后一行 |
nG或:n | nG或:n | 到第n行 |
$ | $ | 移动到行首 |
0 | 0 | 移动到行尾 |
命令 | Demo | 相关功能 |
---|---|---|
v | v | 字符选择 |
V | V | 选择一行 |
ctrl+v | ctrl+v | 矩形选择 |
y | y | 复制选中 |
yy | yy | 复制一整行 |
nyy | 2yy | 复制前n行 |
p | p | 在光标下面粘贴 |
P | P | 在光标上面粘贴 |
d | d | 剪切选中 |
dd | dd | 剪切一整行,可以用来删除 |
命令 | Demo | 相关功能 |
---|---|---|
/string | /abc | 搜索字符串 ,使用n可以跳转到下一个匹配 |
:set ic | :set ic | 字符搜索不区分大小写 |
:set noic | :set noic | 字符搜索区分大小写 |
%s/old/new/g或者%s/abc/abc/c | %s/abc/ABC/g || %s/abc/ABC/c | 全文文本替换 /g不询问直接替换 /c询问是否替换 |
n,m/old/new/g或者n,m/abc/abc/c | n,m/abc/ABC/g || n,m/abc/ABC/c | 指定行号文本替换 /g不询问直接替换 /c询问是否替换 |
翻页
整页翻页 ctrl-f ctrl-b
f就是forword b就是backward
翻半页: ctrl-d ctlr-u
d=down u=up
滚一行: ctrl-e ctrl-y
zz 让光标所杂的行居屏幕中央
zt 让光标所杂的行居屏幕最上一行 t=top
zb 让光标所杂的行居屏幕最下一行 b=bottom
全选
ggVG
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行