跳转至

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分别代表向左/下/上/右跳转