高效使用 Vim 编辑器

发表于 · 归类于 代码 · 阅读完需 2 分钟 · 报告错误

Vim 是程序员最广泛使用的文本编辑器之一(在 Unix 文化里,它的对手是 Emacs,并由此引发了黑客界的编辑器之战)。

本文将会介绍一些实用的配置和命令,以便高效地使用 Vim 进行编辑。这些技巧均不需要安装任何额外的插件。

一、使用相对行号

在 Vim 中,相对行号是提高移动效率的一大利器。通过它可以快速定位目标位置距当前光标的行数,然后使用类似 7j11k 的命令进行移动操作。

使用相对行号后的 Vim

下面的配置会使 Vim 对当前行显示绝对行号,而对其它行显示相对行号:

set number
set relativenumber

二、更多的命令,更高的效率

“不要使用方向键,使用 h/j/k/l 替代!”,这句话通常是给 Vim 新手的第一条建议。Vim 中内置了丰富的命令,几乎所有能想到的功能,都可以通过命令的组合来实现。所以,了解越多的快捷键和命令,就意味着更高的效率。

下面是网上一个流传广泛的 Vim 命令键位图(右键可以查看大图):

Vim 快捷键

然而这只是冰山一角。

三、可视化模式

Vim 的可视化模式(Visual Mode)用于选择一部分文本,并进行相应的操作处理,包括字符模式(使用 v)、行模式(使用 V)和块模式(使用 <C-v>)三种。

比如编程的时候经常需要注释一整块代码,则可以先按 <C-v> 进入块模式,然后使用 j/k 进行选择,接着使用 I 从行首进入插入模式,输入 // ,最后按 <Esc> 到普通模式。

再如,想对整个文件进行代码对齐操作时,可以先按 ggVG 进行全选(这个命令由三部分构成:首先通过 gg 到文件第一行,然后用 V 进入行模式,最后使用 G 到文件最后一行),然后再按 = 使所有代码对齐。

四、录制宏

在计算机科学中,宏(Macro)是指用甲事来代替乙事的行为,或者称之为模式替换。Vim 中,宏表示的是一系列操作命令的集合。其使用方法如下:

  1. 在正常模式下按 qa 表示开始录制宏,且宏的名称为 a;
  2. 此时可以进行一系列的操作;
  3. q 停止录制;
  4. @a 播放寄存器 a 中的宏,前面加数字可以表示连续播放多次。