Vim基础
一、移动光标
1.1、基础移动
快捷键 | 作用 |
---|---|
h j k l |
左/下/上/右移动 |
w |
跳到下一个单词开头 |
b |
跳到上一个单词开头 |
e |
跳到当前单词末尾 |
0 |
跳到行首 |
^ |
跳到行首第一个非空白字符 |
$ |
跳到行尾 |
gg |
跳到文件第一行 |
G |
跳到文件最后一行 |
:n |
跳到第 n 行(如 :10 跳第 10 行) |
1.2、屏幕滚动
快捷键 | 作用 |
---|---|
Ctrl+u |
向上滚动半屏 |
Ctrl+d |
向下滚动半屏 |
Ctrl+b |
向上滚动整屏 |
Ctrl+f |
向下滚动整屏 |
zz |
当前行居中显示 |
zt |
当前行置顶 |
zb |
当前行置底 |
二、编辑操作
2.1、插入模式
快捷键 | 作用 |
---|---|
i |
在光标前插入 |
a |
在光标后插入 |
I |
在行首插入 |
A |
在行尾插入 |
o |
在下方插入新行 |
O |
在上方插入新行 |
2.2、删除与修改
快捷键 | 作用 |
---|---|
x |
删除当前字符 |
dw |
删除当前单词 |
dd |
删除当前行 |
D |
删除到行尾 |
cw |
修改当前单词(删除并进入插入模式) |
cc |
修改整行 |
r |
替换单个字符 |
R |
进入替换模式(连续替换) |
2.3、复制粘贴
快捷键 | 作用 |
---|---|
yy |
复制当前行 |
yw |
复制当前单词 |
p |
粘贴到光标后 |
P |
粘贴到光标前 |
"ayy |
复制当前行到寄存器 a |
"ap |
粘贴寄存器 a 的内容 |
三、搜索与替换
3.1、搜索
快捷键 | 作用 |
---|---|
/keyword |
向前搜索 keyword |
?keyword |
向后搜索 keyword |
n |
跳转到下一个匹配项 |
N |
跳转到上一个匹配项 |
* |
搜索当前光标下的单词 |
3.2、替换
命令 | 作用 |
---|---|
:s/old/new |
替换当前行第一个 old |
:s/old/new/g |
替换当前行所有 old |
:%s/old/new/g |
替换全文所有 old |
:%s/old/new/gc |
替换全文并每次确认 |
4、分屏与窗口管理
4.1、分屏操作
快捷键 | 作用 |
---|---|
:sp |
水平分屏 |
:vsp |
垂直分屏 |
Ctrl+w h/j/k/l |
跳转到左/下/上/右窗口 |
Ctrl+w w |
循环切换窗口 |
Ctrl+w c |
关闭当前窗口 |
Ctrl+w o |
关闭其他窗口 |
4.2、窗口调整
快捷键 | 作用 |
---|---|
Ctrl+w + |
增加窗口高度 |
Ctrl+w - |
减少窗口高度 |
Ctrl+w > |
增加窗口宽度 |
Ctrl+w < |
减少窗口宽度 |
Ctrl+w = |
所有窗口等宽等高 |
五、宏与批量操作
快捷键 | 作用 |
---|---|
qa |
开始录制宏到寄存器 a |
q |
停止录制 |
@a |
执行寄存器 a 的宏 |
@@ |
重复执行上一次宏 |
:normal @a |
对选中行执行宏 a |
- 按 qa 开始录制 → 执行操作(如 dd 删除行)→ 按 q 结束录制
- 执行 @a 重复删除操作
六、效率技巧
组合操作:
dap
:删除整个段落cis
:修改当前句子
文本对象:
viw
:选中当前单词vip
:选中当前段落
重复操作:
10j
:向下移动 10 行5dd
:删除 5 行