移动光标类命令
h 光标左移一个字符 (Backspace)
l 光标右移一个字符 (space)
k 光标上移一行
j 光标下移一行 (Enter)
0 (注意是数字零)光标移至当前行首
$ 光标移至当前行尾
nG 光标移至第n行首
n$ 光标移至第n行尾
gg 光标移至文件第1行
G 光标移至文件最后1行
屏幕翻滚类命令
Ctrl+u 向文件首翻半屏
Ctrl+d 向文件尾翻半屏
Ctrl+f 向文件尾翻一屏
Ctrl+b 向文件首翻一屏
插入文本类命令
i 在光标前
I 在当前行首
a 光标后
A 在当前行尾
o 在当前行之下新开一行
O 在当前行之上新开一行
r 替换当前字符
x 删除光标后的一个字符
删除、拷贝命令
dd 删除当前行
ndd 从当前行开始,删除n行
dw 从光标位置开始,删除至单词结尾
daw 删除整个单词
d0 从光标位置开始,删除至行首
d$ 从光标位置开始,删除至行尾
yy 拷贝当前行
nyy 从当前行开始,拷贝n行
yw 从光标位置开始,拷贝至单词结尾
yaw 拷贝整个单词
y0 从光标位置开始,拷贝至行首
y$ 从光标位置开始,拷贝至行尾
p 将删除或拷贝的内容粘贴到当前光标处
u 撤消
搜索及替换命令
/pattern 从光标开始处向文件尾搜索pattern
?pattern 从光标开始处向文件首搜索pattern
n 在同一方向重复上一次搜索命令
N 在反方向上重复上一次搜索命令
:s/p1/p2/g 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代
:%s/p1/p2/g 将文件中所有p1均用p2替换
最后行方式命令
:w 保存当前文件
:x 保存当前文件并退出
:q 退出文件,不保存
:q! 强制退出文件,不保存
:!command 执行shell命令command
:r!command 将命令command的输出结果放到当前行
:sp filename 打开另一个文件,水平排列
:vsp filename 打开另一个文件,垂直向排列
Ctrl+ww 在打开的多个文件之间切换
在VI中使用:sp,窗口分屏~Ctrl+w+j(k)来切换!