一、模式间切换
正常模式->编辑模式
i #光标前等待输入
a #光标后等待输入
shift + i #行首等待输入
shift + a #行尾等待输入
o #光标下一行创建新行,相当于本行末尾按回车
shift + o #光标上一行创建新行
二、正常模式
1.选择
v #选择块
2.光标移动
H #当前屏幕第一行的第一个字符
M #当前屏幕中间行的第一个字符
L #当前屏幕最后一行的第一个字符
G #文本最后一行的第一个字符
gg #文档第一行的第一个字符
n+G #第n行的第一个字符
n+空格 #移动n个字符
n+回车 #向下移动n行
w #移动到下一个单词
h #左
j #下
k #上
l #右
Page Up #上一页
Page Down #下一页
3.查找
/word +回车 #光标向下查找单词,按n查找下一个单词,N上一个单词
?word +回车 #光标向上查找
:1,$s/word1/word2/g #全文搜索替换把word2换成word1
:n1,n2s/word1.word2/gc #从n1行到n2行搜索替换,末尾c提示用户确认
4.复制,粘贴
y #复制
yy #复制光标所在行
y^ #复制当前到行头的内容;
y$ #复制当前到行尾的内容;
yw #复制一个word (nyw或者ynw,复制n个word,n为数字);
yG #复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)
nyy #复制n行
p #粘贴到下一行
1,10 co 12 #复制1到10行,并粘贴在12行
5.删除
x #剪切光标位置一个字符
d #剪切选中
d + ← #剪切光标左边的一个字符
d + → #剪切光标右边的一个字符,等同于x(注意** 右的时候包括光标在内)
d + 数字 + → #剪切光标右边的一个字符(注意** 右的时候包括光标在内)
d + 数字 + ← #剪切光标左边的n个字符
d+ w #删除光标所在单词的后面部分,包括光标
d+d #剪切光标所在行
3+d+d #剪切光标行及后两行
d+i+" #删除" "之间的所有单词,还可以是 ' ) } ] 等
c #c操作和d一样,操作后会进入编辑模式
6.撤销
u #
7.返回撤销
ctrl+ r #
三、插入模式
四、命令行模式
1.退出
:q #退出
:q! #强制退出
:wq #保存退出
:wq! #强制保存退出,可以保存只读文件
ZZ #若没修改直接退出,若有修改保存自动保存并退出
2.文件
:w fils #文件另存为
:r files #打开另一个文件,追加到本文件后面
vim file1 file2 #打开多个文件
:ls #显示打开的文件
:open files #再打开一个文件,另一个后台
与后台文件间切换
ctrl+6 #两文件间切换
:bn #下一个文件
:bp #上一个文件
:b1 #切换到序号n个文件,ls查文件序号
同时显示多文件
:new files #垂直显示
:vnew files #水平显示新文件
:tabnew files #创建新文件,老文件切换到后台
:split #垂直分屏
:vsplit #水平分屏
:ctrl +ww #光标切换到下一个屏幕上
:ctrl +w+方向键 #切换屏幕
3.行号
:set nu #显示行号
:set nonu #取消行号