vim常用按键总结
1、移动光标
按键 | 作用 |
---|---|
h 或← |
光标向左移动一个字符 |
j 或↓ |
光标向下移动一个字符 |
k 或↑ |
光标向上移动一个字符 |
l 或→ |
光标向右移动一个字符 |
Ctrl + f 或Page Down |
屏幕向下移动一页(常用) |
Ctrl + b 或Page Up |
屏幕向上移动一页(常用) |
Ctrl + d |
屏幕向下移动半页 |
Ctrl + u |
屏幕向上移动半页 |
+ |
光标移动到非空格符的下一行 |
- |
光标移动到非空格符的上一行 |
<num> + Space |
num 表示数字,按下数字后再按空格,光标会向右移动这一行的num 个字符 |
0 或Home |
移动到当前行第一个字符处(常用) |
$ 或End |
移动到当前行最后一个字符处(常用) |
H |
光标移动到这个屏幕最上方一行的第一个字符处 |
M |
光标移动到这个屏幕中心一行的第一个字符处 |
L |
光标移动到这个屏幕最下方一行的第一个字符处 |
G |
移动到当前文件的最后一行(常用) |
<num> + G |
num 表示数字,配合G 使用将光标移动到文件指定行 |
gg |
移动到当前文件的第一行(常用) |
<num> + Enter |
num 表示数字,按下数字后再按回车,光标向下移动num 行 |
2、搜索替换
按键 | 作用 |
---|---|
/word |
向下查找名称为 word 的字符串(常用) |
?word |
向上查找名称为 word 的字符串(常用) |
n |
重复前一个搜索动作(常用) |
N |
反向重复前一个搜索动作(常用) |
:<num1>,<num2>s/word1/word2/g |
在num1 行与num2 行之间寻找 word1 字符串,并将该字符串替换为 word2 字符串。使用$ 或% 替代num2 时意味查询至文件最后一行;命令中的g 表示替换动作无需用户确认,若需要用户确认则使用gc 代替g (常用) |
3、删除、复制和粘贴
按键 | 作用 |
---|---|
x 或X |
x 表示向后删除一个字符,X 表示向前删除一个字符(常用) |
<num> + x 或<num> + X |
num 为数字,组合x 或X 使用表示向后或向前删除num 个字符 |
dd |
剪切光标所在位置的一整行(常用) |
<num> + dd |
num 为数字,组合dd 使用表示剪切光标所在行的向下num 行(常用) |
d1G |
删除光标所在行到第一行的所有数据 |
dG |
删除光标所在行到最后一行的所有数据 |
d$ |
删除光标所在位置到该行最后一个字符的所有数据 |
d0 |
删除光标所在位置到该行最前面一个字符的所有数据 |
yy |
复制光标所在位置的一整行(常用) |
<num> + yy |
num 为数字,组合yy 使用表示复制光标所在行的向下num 行(常用) |
y1G |
复制光标所在行到第一行的所有数据 |
yG |
复制光标所在行到最后一行的所有数据 |
y$ |
复制光标所在位置到该行最后一个字符的所有数据 |
y0 |
复制光标所在位置到该行最前面一个字符的所有数据 |
p 或P |
p 表示向光标下一行粘贴已复制数据,P 表示向光标上一行粘贴已复制数据。该操作同样可与<num> 组合,例如<num> + p (常用) |
J |
将光标所在行与下一行数据结合成同一行 |
c |
重复删除多个数据,例如向下删除10行为10cj ,其中j 代表 join |
u |
复原前一个动作(常用) |
Ctrl + r |
撤销上一个u 操作(常用) |
. |
重复上一个动作 |