Vim 技巧
1. 快速移动 - 告别逐行敲击
很多人用Vim时习惯用j、k一行行移动,非常低效。这些移动命令可以帮你快速定位:
gg # 跳转到文件开头
G # 跳转到文件末尾
:行号 # 跳转到指定行
w # 向前跳转一个单词
b # 向后跳转一个单词
0 # 跳转到行首
$ # 跳转到行尾
2. 搜索与替换 - 一键定位修改
/keyword # 向下搜索关键词
?keyword # 向上搜索关键词
n # 继续查找下一个
N # 查找上一个
:%s/old/new/g # 全文替换所有匹配
:s/old/new/g # 当前行替换所有匹配
3. 复制粘贴 - 高效文本处理
不只是简单的yy和p,这些技巧让复制粘贴更高效:
yy # 复制当前行
y$ # 复制到行尾
yw # 复制一个单词
dd # 剪切当前行
p # 在光标后粘贴
P # 在光标前粘贴
"+y # 复制到系统剪贴板
4. 快速编辑 - 一键完成常见操作
这些命令可以让你一步完成常见的编辑操作:
x # 删除当前字符
r # 替换当前字符
cw # 修改当前单词
cc # 修改整行
o # 在下方插入新行
O # 在上方插入新行
u # 撤销
Ctrl+r # 重做
5. 重复操作 - 告别重复劳动
. # 重复上一次编辑操作
数字+命令 # 重复执行命令,如5dd删除5行
qa...q # 记录宏到寄存器a
@a # 执行寄存器a中的宏
@@ # 重复上次执行的宏
6 分屏操作 - 多任务处理
同时查看或编辑多个文件,大大提高工作效率:
:sp 文件名 # 水平分割窗口
:vsp 文件名 # 垂直分割窗口
Ctrl+w h/j/k/l # 在窗口间移动光标
Ctrl+w = # 均分窗口大小
Ctrl+w _ # 最大化当前窗口高度
Ctrl+w | # 最大化当前窗口宽度
7. 代码缩进 - 格式化文本
快速调整代码缩进,让格式整齐美观:
>> # 向右缩进当前行
<< # 向左缩进当前行
>G # 从当前行到文件末尾都向右缩进
=G # 从当前行到文件末尾自动缩进
gg=G # 自动缩进整个文件
8. 可视化选择 - 直观操作
不用数行数,直接看着选就完事了:
v # 字符选择模式
V # 行选择模式
Ctrl+v # 块选择模式(可选择矩形区域)
gv # 重新选择上次的区域
9. 自动补全 - 提高输入速度
为什么要把每个单词都敲完?使用自动补全:
Ctrl+n # 向后查找并自动补全
Ctrl+p # 向前查找并自动补全
Ctrl+x Ctrl+f # 文件名补全
Ctrl+x Ctrl+l # 整行补全
10. 保存退出 - 高效的文件操作
:w # 保存
:w 文件名 # 另存为
:wa # 保存所有打开的文件
:wq # 保存并退出
:x # 保存并退出(如有修改才写入)
ZZ # 快捷键,相当于:x
Vim 跳转技巧
跳转
- 基本跳转
:n
-5
最基本的跳转方法就是使用:n命令,其中n是要跳转到的行号。例如,要跳转到第20行,可以在命令模式下输入:20
,然后按下回车键即可
- 相对跳转
:[num]
+5
相对跳转用于在当前行的基础上向上或向下跳转一定的行数。可以在命令模式下输入:num命令,其中num可以是正数、负数。例如,要向上跳转5行,可以在命令模式下输入:+5,然后按下回车键即可。同样,要向下跳转5行,则可以输入5。
- 标签跳转
ma
标签跳转是vim中比较高级的跳转方式,需要事先设置标签。可以在任意一个位置使用m加一个小写字母来设置一个标签。例如,在命令模式下输入:ma,其中a是标签名称。设置标签之后,可以使用`a命令跳转到该标签所在的位置。
需要注意的是,标签名称只能使用小写字母,而且要保证不与vim的命令重名。
- 搜索跳转
/[word]
可以在命令模式下输入/[word]命令,其中[word]是要搜索的单词或字符串,然后按下回车键即可。
如果找到了匹配的单词或字符串,vim会跳转到其第一个出现的位置。此外,还可以使用n命令在当前行的下一行继续搜索匹配的单词或字符串。
- 文件内跳转
gf
可以使用gf命令跳转到光标下的单词所对应的文件或路径。需要注意的是,该文件或路径必须存在于文件系统中,并且要保证vim可以访问到。返回则是Ctrl+6。
- 快速跳转
Ctrl+]或gd
可以快速跳转到光标下的单词所对应的定义或声明处。可以使用Ctrl+]或gd快捷键来进行快速跳转。
- 分屏跳转
Ctrl+w + h/j/k/l
分屏跳转是vim中最灵活的一个跳转方式之一,可以在不同的屏幕之间自由跳转。可以使用Ctrl+w+h/j/k/l
快捷键来进行分屏跳转。其中Ctrl+w是vim中的分屏命令前缀,h/j/k/l分别代表向左/下/上/右跳转。