vim编辑器基本上可以分为3种模式,分别是命令模式、插入模式和底行模式,下图所示为Vim各种模式相互转换的关系图。
命令模式:控制屏幕光标的移动,进行文本的删除、复制等文字编辑工作(不使用[Del]键和[Backspace]键)以及进入插入模式,或者回到底行模式。
插入模式:只有在插入模式下,才可以输入文字。按[Esc]键可回到命令行模式。很多Vim编辑器使用者希望一打开Vim就可以输入内容,但这是不能成功的,因为刚打开Vim编辑器时处于命令模式。
底行模式:保存文件或退出Vim,同时也可以设置编辑环境和一些编译工作,如列出行号、寻找字符串等。
在命令模式下,有如下常用命令:
插入
a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本
A //在当前行的末尾位置添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
删除
x //删除当前字符
nx //删除从光标开始的n个字符
dw //删除从光标开始到一个单词(word)的末尾,实际是剪切
dd //删除当前行,剪切
ndd //向下删除当前行在内的n行,剪切
拷贝
yy //将当前行复制到缓存区。
nyy //将当前行向下n行复制到缓冲区。
yw //复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^ //复制从光标到行首的内容。
y$ //复制从光标到行尾的内容。
粘帖
p(小写) //粘贴剪切板里的内容在光标后。
P(大写) //粘贴剪切板里的内容在光标前。
替换
r //替换(覆盖)当前字符
R //替换(覆盖)当前光标位置及后面的若干文本
定位
h,j,k,l //上,下,左,右也可用键盘上的方向键。
n+ //向下跳n行
n- //向上跳n行
nG //跳到行号为n的行
G //跳至文件的底部
gg // 跳至文件的头部
ctrl-f //下翻一页
ctrl-b //上翻一页
^ //光标移到行首。
$ //光标移到行尾。
搜索文本
/vpser //向光标下搜索vpser字符串
?vpser //向光标上搜索vpser字符串
n //向下搜索
N //向上搜索
替换
:s/old/new //用new替换行中首次出现的old
:s/old/new/g //用new替换行中所有的old
:n,m s/old/new/g //用new替换从n到m行里所有的old
:%s/old/new/g //用new替换当前文件里所有的old
替换的时候注意,加’g’表示涉及的行中所有匹配都替换,若不加’g’则替换行中匹配的第一个,%则相当于所有行。
撤消操作
u //撤销上一步操作
U //撤销对当前行的所有操作
合并
J //合并光标所在行及下一行为一行(依然在命令模式)
当然vim还有很多常用的命令,这需要在以后的使用中再去总结。