一、前言
掌握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 配置入门