Vim的纵向编辑模式


常规文本编辑器都是横向编辑,而纵向编辑也常被作为特色功能。比如 Vim、EditPlus、Notepad++、UltraEdit 这些编辑器都有纵向编辑模式,或者称为列模式(Notepad++的一些技巧可以参考之前写的一篇文章:Notepad++使用技巧[不定期更新])。像日常文字处理工具 MicroSoft Word、OpenOffice Writer 也可以通过按下功能键 ALT,实现纵向选中文本,然后对文本进行操作。纵向编辑不仅是编辑器的一种功能,更是人们思考问题的一种方式,项目符号、段落编号,都是纵向编辑的体现。

Vim 的纵向编辑模式启动方便,使用灵活。

启动方法

在 Vim 命令模式下,移动游标定位于某一个位置,键入 ctrl-v 后状态栏上出现 VISUAL BLOCK 字样,即进入纵向编辑模式。移动游标以按需选择待编辑的区域。注意:在 Windows 版本的 Vim 中,键组合 ctrl-v 通常被映射为文本粘贴,所以 Window 版的 Vim 的纵向编辑模式由ctrl-q启动。当然灵活的 Vim 也可以由用户自行定义组合键。

示例 1:纵向编辑在批量修改代码的应用演示

将数列:

 10.1.5.214
 10.1.5.212
 10.1.5.210

编辑成序列:

 ping -c 4 10.5.5.214 >> result0
 ping -c 4 10.5.5.212 >> result0
 ping -c 4 10.5.5.210 >> result0

这是一个将 IP 数列修改成可执行的 ping 命令序列的过程。

第一步:修改

将 IP 数列中第二段所有数字“1” 修改为“5”:

将游标定位第一个行 IP 地址第二段的“1”

ctrl-v 进入纵向编辑模式

移动游标到最后一行(自己测试的时候用的是 j 向下移动游标),可视块覆盖所要修改的列

进入修改模式

输入数字“5”

ESC 退出纵向编辑模式,同时所有被选中的数字都被改成了“5”,并回到命令模式

结果如下:

 10.5.5.214
 10.5.5.212
 10.5.5.210

第二步:前添加

在所有行之前添加“ping – c 4 ”:

将游标定位到第一行第一列

ctrl-v 进入纵向编辑模式

移动游标到最后一行第一列,可视块覆盖了第一列

进入行首插入模式

ping -c 4 输入所要求字符“ping – c 4 ”

ESC 退出纵向编辑模式的同时所有选中的字符前都添加了“ping – c 4 ”,回到命令模式

结果如下:

 ping -c 4 10.5.5.214
 ping -c 4 10.5.5.212
 ping -c 4 10.5.5.210

第三步:后添加

在所有行之后添加“>> result0”:

将游标定位到第一行最后一列

ctrl-v 进入纵向编辑模式

G 移动游标到最后一行最后一列,VISUAL   BLOCK  覆盖了最后一列

A 进入行尾插入模式

>> result 输入所要求字符“>> result0”

ESC 退出纵向编辑模式的同时所有选中的字符后都添加了“ >> result0”,回到命令模式

结果如下:

 ping -c 4 10.5.5.214 >> result0
 ping -c 4 10.5.5.212 >> result0
 ping -c 4 10.5.5.210 >> result0

以上三个步骤有一个共同特点,就是都纵向为编辑方向。以上由三行代码为例的方法同样也可以适用于更多的行。

参考文章:
技巧:Vim 的纵向编辑模式
,

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注