一、前言
掌握vim是linux必备技能,当掌握了vim的操作,很多时候比文本编辑器或IDE更高效。

二、移动与跳转
| 命令 | 说明 |
|---|---|
set nu |
显示行号; |
set nonu |
取消显示行号; |
0 |
数字0,移动到行首; |
$ |
移动到行尾; |
gg |
移动到文档的第一行;与1G一样; |
G |
移动到文档的最后一行; |
nG |
n为数字,移动到第n行; |
n<回车> |
向下移动n行; |
Ctrl + f |
向下翻页,即Page Down; |
Ctrl + b |
向上翻页,即Page Up; |
Ctrl + d |
向下翻半页; |
Ctrl + u |
向上翻半页; |
h |
向左; |
j |
向下;nj表示向下移动n行; |
k |
向上; |
l |
向右; |
H |
移动到屏幕第一行; |
M |
移动到屏幕中间一行; |
L |
移动到屏幕最后一行; |
+ |
非空格符的下一行; |
- |
非空格符的上一行; |
三、删除与复制
| 命令 | 说明 |
|---|---|
dd |
删除当前行; |
ndd |
向下删除n行; |
dG |
删除光标后所有;D效果一样; |
d1G |
删除光标前所有; |
d$ |
删除当前行光标后所有; |
d0 |
删除当前行光标前所有; |
yy |
复制当前行; |
nyy |
往下复制n行; |
yG |
复制光标后所有; |
y1G |
复制光标前所有; |
y$ |
复制当前行光标后所有; |
y0 |
复制当前行光标前所有; |
p、P |
p下一行粘贴,P上一行粘贴; |
u |
复原上一次操作; |
Ctrl + r |
重复上一次操作; |
四、搜索与替换
| 命令 | 说明 |
|---|---|
/word |
向下寻找字符串; |
?word |
向上寻找字符串; |
n |
重复上一个搜索动作;之前向下,现在也向下; |
N |
反向重复上一个搜索动作; |
:wq |
保存后退出;:wq!,强制保存后退出; |
:n1,n2s/word1/word2/g |
在n1与n2行之间,用word2替换word1;如50,110s/pkslow/PKSLOW/g; |
:1,$s/word1/word2/g |
第一行到最后一行,即全文搜索替换; |
如果替换的字符串有/,要用转义::1,$s/\/opt\/pkslow/\opt\/PKSLOW/g。
五、文件操作
| 命令 | 说明 |
|---|---|
:w |
保存 |
:w! |
强制保存; |
:q |
退出不保存; |
:q! |
强制退出不保存; |
:wq |
保存后退出;:wq!,强制保存后退出; |
:w filename |
另存为 |
:n1,n2 w filename |
将n1到n2另存为; |
:r filename |
读另一个文件内容; |
! command |
暂时离开vi执行命令; |
六、其他命令
| 命令 | 说明 |
|---|---|
:w |
保存 |
:w! |
强制保存; |
:q |
退出不保存; |
:q! |
强制退出不保存; |
:wq |
保存后退出;:wq!,强制保存后退出; |
:w filename |
另存为 |
:n1,n2 w filename |
将n1到n2另存为; |
:r filename |
读另一个文件内容; |
! command |
暂时离开vi执行命令; |
参考文档:
Linux vi/vim
Vim 配置入门










