第六章:块操作
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 中的宏。