快速掌握vim:快捷键操作指令大全
适用范围:对vim有一定认识的初学者。
1 一般模式
移动光标 |
|
h或← |
光标向左移动一个字符 |
j或↓ |
光标向下移动一个字符 |
k或↑ |
光标向上移动一个字符 |
l或→ |
光标向右移动一个字符 |
N+(h,j,k,l或←,↓,↑, →) |
光标向指定方向移动N个字符(行) |
Ctrl+f |
屏幕向下移动一页 |
Ctrl+b |
屏幕向上移动一页 |
Ctrl+d |
屏幕向下移动半页 |
Ctrl+u |
屏幕向上移动半页 |
+ |
光标移动到非空格符的下一列 |
- |
光标移动到非空格符的上一列 |
N+space |
光标向右移动N个字符 |
0或Home |
光标移动到本行行首 |
$或End |
光标移动到本行行尾 |
H |
光标移动到屏幕第一行行首 |
M |
光标移动到屏幕中间行行首 |
L |
光标移动到屏幕最后一行行首 |
G |
光标移动到档案最后一行行首 |
N+G |
光标移动到档案第N行行首 |
N+Enter |
光标向下移动N行 |
搜寻与取代 |
|
/word |
向光标之下查找word字符串 |
?word |
向光标之上查找word字符串 |
n |
重复前一个搜寻动作 |
N |
反向重复前一个搜寻动作 |
:n1,n2s/word1/word2/g |
n1,n2为数字。在n1与n2行之间使用word2替换word1 |
:1,$s/word1/word2/g |
全文使用word2替换word1 |
:1,$s/word1/word2/gc |
全文使用word2替换word1,且在替换前显示提示字符给用户确认是否需要替换 |
删除、复制与粘贴 |
|
x,X |
在一行中,x为向后删除一个字符,X为向前删除一个字符 |
N + x |
连续删除光标前N个字符 |
N + X |
连续删除光标后N个字符 |
dd |
删除光标所在行 |
N+dd |
删除光标所在向下N 行 |
d+N+G |
删除光标到第N行的所有数据 |
dG |
删除光标到最后一行的所有数据 |
d$ |
删除光标到该行最后一个字符的所有数据 |
d0 |
删除光标到该行第一个字符的所有数据 |
yy |
复制光标所在行的数据 |
N+yy |
复制光标所在的向下N行的所有数据 |
y+N+G |
复制光标所在行到N行的所有数据 |
yG |
复制光标所在行到最后一行的所有数据 |
y0 |
复制光标所在到该行行首的所有数据 |
y$ |
复制光标所在到该行行尾的所有数据 |
p |
在光标下一行粘贴已复制内容 |
P |
在光标上一行粘贴已复制内容 |
J |
将光标所在行与下一行合并为同一行 |
u |
复原前一动作 |
Ctrl+r |
重做上一动作 |
.(小数点) |
重复前一动作 |
区块选择 |
|
v |
字符选择,将光标经过地方反白选择 |
V |
行选择,将光标经过的行反白选择 |
Ctrl+v |
区块选择,可用长方形选择 |
y |
复制反白选择 |
d |
删除反白选择 |
2.一般模式切换到编辑模式
进入插入或取代 |
|
i |
Insert mode:从目前光标所在处插入 |
I |
Insert mode:在目前所在行的第一个非空格符处插入 |
a |
Insert mode:从目前光标所在的下一个字符处插入 |
A |
Insert mode:从光标所在行的最后一个字符处开始插入 |
o |
Insert mode:在目前光标所在的下一行插入新的一行 |
O |
Insert mode:在目前光标所在的上一行插入新的一行 |
r |
Replace mode:取代光标所在的那一个字符 |
R |
Replace mode:一直取代光标所在的文字,直到按下Esc为止 |
Esc |
退出编辑模式,回到一般模式 |
3.一般模式切换到指令模式
指令列命令 |
|
:w |
将编辑数据写入硬盘档案中 |
:w! |
若文件属性为只读,强制写入该档案 |
:q |
离开vim |
:q! |
若改动过档案,又不想储存,强制离开不储存档案 |
:wq |
储存后离开 |
:wq! |
强制储存后离开 |
ZZ |
若档案没有改动,不储存离开;若档案已经被改动,储存后离开。 |
:w [filename] |
将编辑的数据存储成另一个档案 |
:r [filename] |
在编辑的数据中读入另一个档案数据,添加到光标所在行后面 |
:n1,n2 w [filename] |
将n1到n2的内容储存成filename档案 |
:!command |
暂时离开vim到指令模式下执行shell command |
:set nu |
显示行号 |
:set nonu |
取消显示行号 |
多档案编辑 |
|
:n |
编辑下一个档案 |
:N |
编辑上一个档案 |
:files |
列出目前这个vim开启的所有档案 |
多窗口 |
|
:sp [filename] |
开启一个新窗口,如果加filename表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容(同步显示) |
Ctrl + w + j或Ctrl + w + ↓ |
光标移到下方窗口 |
Ctrl + w + k或Ctrl + w + ↑ |
光标移到上方窗口 |
Ctrl + w + q |
结束光标所在窗口 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。