Vim常用指令总结(持续更新中)
1 模式变更
命令 | 说明 |
---|---|
a(append)/i(insert) |
普通模式→插入模式 |
: |
普通模式→命令行模式 |
ESC或者Ctrl |
插入模式→普通模式 |
R(Replace)/Insert 两次 |
普通模式→替换模式 |
2 编辑
命令 | 说明 |
---|---|
dj(k) |
删除当前行和下(上)一行 |
i |
在当前光标处进行编辑 |
I |
在行首插入 |
A |
在行末插入 |
a |
在光标后插入编辑 |
o |
在当前行后插入一个新行 |
O |
在当前行前插入一个新行 |
cw(changeword) |
替换从光标所在位置后到一个单词结尾的字符 |
cnw/ncw |
替换从光标所在位置后到n个单词结尾的字符 |
2.1 保存退出相关
命令 | 说明 |
---|---|
:w 路径+文件名 |
保存文件 |
:wq |
保存并退出编辑 |
:q! |
强制退出,不保存 |
:q |
退出 |
:wq! |
强制保存并退出 |
:w <文件路径> |
另存为 |
:saveas 文件路径 |
另存为 |
:x |
保存并退出 |
:wq |
保存并退出 |
普通模式Shift+zz |
保存并退出 |
2.2 普通模式删除文本
命令 | 说明 |
---|---|
x |
删除游标所在的字符 |
X |
删除游标所在前一个字符 |
Delete |
同x |
dd |
删除整行 |
dw |
删除一个单词(不适用中文) |
d$ 或D |
删除至行尾 |
d^ |
删除至行首 |
dG |
删除到文档结尾处 |
d1G |
删至文档首部 |
2.3 复制粘贴、剪切
-
普通模式中使用
y
复制 -
普通模式中,
yy
复制游标所在的整行(3yy
表示复制3行) -
普通模式中,
y^
复制至行首,或y0
。不含光标所在处字符。 -
普通模式中,
y$
复制至行尾。含光所在处字符。 -
普通模式中,
yw
复制一个单词。 -
普通模式中,
y2w
复制两个单词。 -
普通模式中,
yG
复制至文本末。 -
普通模式中,
y1G
复制至文本开头。 -
普通模式中使用
p
粘贴 -
普通模式中,
p
(小写)代表粘贴至光标后(下) -
普通模式中,
P
(大写)代表粘贴至光标前(上)
2.4 替换和撤销
命令 | 说明 |
---|---|
r +<待替换字母> |
将游标所在字母替换为指定字母 |
R |
连续替换,直到按下Esc |
cc |
替换整行,即删除游标所在行,并进入插入模式 |
cw |
替换一个单词,即删除一个单词,并进入插入模式 |
C (大写) |
替换游标以后至行末 |
~ |
反转游标所在字母大小写 |
u |
撤销一次或n次操作 |
U (大写) |
撤销当前行的所有修改 |
Ctrl+r |
redo,即撤销undo的操作 |
2.5 缩进
命令 | 说明 |
---|
| 整行将向右缩进
<< | 整行将向左回退
:shiftwidth| 设置缩进距离 :set shiftwidth=4
2.6 调整文本位置
命令 | 说明 |
---|---|
:ce | 本行居中 |
:ri | 本行靠右 |
:le | 本行靠左 |
shift+ctrl+上/下箭头 | 向上/下移动当前行 |
3 光标移动
命令 | 说明 |
---|---|
h |
左 |
l |
右 |
j |
下 |
k |
上 |
w |
移动到下一个单词 |
b |
移动到上一个单词 |
nG (n Shift+g) |
游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu 以显示行号) |
gg |
游标移动到到第一行 |
G (Shift+g) |
到最后一行 |
e |
到下一个单词的结尾 |
ge |
到前一个单词的结尾 |
0 或^ |
到行头 |
$ |
到行尾 |
f<字母>; |
向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
F<字母>; |
向前搜索<字母>并跳转到第一个匹配的位置 |
t<字母>; |
向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
T<字母>; |
向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
4. 查找
-
普通模式下输入
/icmp
查找字符串icmp -
普通模式下输入
n
查找下一个icmp -
普通模式下输入
?tcp
向上查找字符串tcp -
普通模式下输入
N
查找上一个出现的tcp -
普通模式下输入
\*
寻找游标所在处的单词 -
普通模式下输入
\#
同上,但\#
是向前(上)找,\*
则是向后(下)找 -
普通模式下输入
g\*
同\*
,但部分符合该单词即可 -
普通模式下输入
g\#
同\#
,但部分符合该单词即可