Skip to content

第六章:块操作 ​

Visual Block 模式可以选择一个矩形区域,并同时编辑多行的同一列。比如把多行文本变成 数组内容,通常需要给每行同时加上引号和逗号。

在下面代码块中搜索 /^apple$,确保光标停在 apple 的 a 上,然后按 Ctrl-v 4j $ A ', Esc。其中空格只是为了分组,不需要输入。

javascript
var myArray = [
apple
banana
cherry
durian
elderberry
];

操作拆开来看:Ctrl-v 进入 Visual Block 模式,4j 向下选中五行,$ 把每行的 选区扩展到行尾,A 在选区右侧同时追加文字。输入 ', 后,只有第一行暂时可见;按 Esc 才会把修改应用到全部选中行。

再搜索 /^apple$,按 Ctrl-v 4j I ' Esc 给五行开头加上单引号。完成后每个水果都 应该形如 'apple',。如果选错或输错,按 u 可以一次撤销整次块编辑,然后重试。

注意:I 和 A 是块编辑中最常用的两个命令;普通的 i、a 只会作用于当前 光标位置。行长不一致时,先观察选区是否覆盖了你真正想改的列。

块编辑很适合规则的列操作;如果每一行需要执行多步、但步骤相同,宏通常更合适。

接下来我们说说 Vim 中的宏。