启动方法
在 Vim 命令模式下,移动游标定位于某一个位置,键入ctrl-v后状态栏上出现 VISUAL BLOCK 字样,即进入纵向编辑模式。移动游标以按需选择待编辑的区域。
注意:在 Windows 版本的 Vim 中,键组合 ctrl-v通常被映射为文本粘贴,所以 Window 版的 Vim 的纵向编辑模式由ctrl-q启动。当然灵活的Vim 也可以由用户自行定义组合键。
纵向编辑在批量修改代码的应用演示
将数列:
1
2
3
10.1.5.214
10.1.5.212
10.1.5.210
编辑成序列:
1
2
3
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 进入纵向编辑模式
- G 移动游标到最后一行,可视块覆盖所要修改的列
- r 进入修改模式
- 输入数字“5”
- ESC 退出纵向编辑模式,同时所有被选中的数字都被改成了“5”,并回到命令模式
结果如下:
1
2
3
10.5.5.214
10.5.5.212
10.5.5.210
第二步:前添加
在所有行之前添加“ping – c 4 ”:
- 将游标定位到第一行第一列
- ctrl-v 进入纵向编辑模式
- G 移动游标到最后一行第一列,可视块覆盖了第一列
- I 进入行首插入模式
- ping -c 4 输入所要求字符“ping – c 4 ”
- ESC 退出纵向编辑模式的同时所有选中的字符前都添加了“ping – c 4 ”,回到命令模式
结果如下:
1
2
3
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”,回到命令模式
结果如下:
1
2
3
ping -c 4 10.5.5.214 >> result0
ping -c 4 10.5.5.212 >> result0
ping -c 4 10.5.5.210 >> result0
总结:
以上三个步骤有一个共同特点,就是都纵向为编辑方向。以上由三行代码为例的方法同样也可以适用于更多的行。
第四步:删除列
- ctrl+v 这样会启动可视模式,按 j/k 可以发现它能够在一列上面选中字符
- 按下 G 这样可以从文本的第一行选中到最后一行
- 按下 x 就会把这一列删掉 重复以上方法可以删多列。
最后
参考博文: 修改或行首、行尾添加(https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/index.html) 删除若干列(https://blog.csdn.net/YAJUN0601/article/details/9028877)