一、vim模式:

1、编辑模式(命令模式)。

2、输入模式(输入内容)。

3、末行模式(编辑命令)。

二、模式转换:

1、编辑模式-->输入模式

i:当前光标所在字符前面转为插入模式

a:在当前光标所在字符后面转为输入模式

o:在当前光标下面新建一行转为输入模式

I:在当前光标所在行首,转为输入模式

A:在当前光标所在行尾,转为输入模式

O:在当前行上方新建一行,转为输入模式

2、输入-->编辑:

ESC

3、编辑-->末行模式:

进入末行模式

:10d 删除第十行

:10,20d 删除第十行至20行

:set nu 设置行号

:!命令执行命令

三、打开文件

vim +# :打开文件至具体行数

vim :打开文件,光标移至文件尾部

vim +/pattern :打开文件,定位至第一次呗pattern匹配到的行首部

默认处于编辑模式


四、关闭文件

1、在末行模式关闭文件

:wq! 保存退出

:q!强制退出

:x保存退出

2、编辑模式下保存退出

:ZZ


五、移动光标

1、逐字符移动

h

l

j

k

#h移动#个字符

2、逐单词移动

w下一个单词词首

e当前单词词尾或下个单词词尾

b当前单词词首或上一个单词词首

#w跳#个单词

3、行内跳转

0跳至行首,绝对行首

^跳至行首,非空白字符

$跳至行尾

4、行间跳转

#G跳转至#行

G最后一行

末行模式,直接给出行号

5、翻屏

ctl+f向下

ctl+b向上

ctl+d向下半屏

ctl+u向上半屏


六、删除单个字符

x删除单个字符

#x删除向后的共#多个字符


七、删除命令

dwd和跳转命令组合使用

dd删除当前行

#dd删除包括当前光标所在内的#行

末行模式下: 

1,8d  第一行到第八行

.表示当前行

$最后一行

+#向下的#行


八、粘贴命令

p如果删除的或复制的为整行内容则粘贴至光标行的下方,如果复制非整行在光标字符后方

P如果删除的或复制的为整行内容则粘贴至光标行的上方,如果复制非整行在光标字符前方


九、复制命令

y用法同d命令


十、先删除内容,再转换为输入模式

c同d命令


十一、替换

r替换单字符 

R替换模式


十二、撤销编辑

u撤销前一次编辑操作

#u撤销#次编辑操作


十三、撤销上一次撤销操作

ctl+r

十四、重复前一次的编辑操作

.

十五、可视化模式

v按字符选取

V按矩形块选区


十六、查找

/pattern向下查找

?pattern从当前光标向上

N

n

十七、查找并替换

在末行模式下使用s命令

代表全文

addr1,add2s/pattern/string/g