vim如何列编辑:块模式visual block操作详解和实例演示

时间:2024-03-27 14:33:43

vim是一个非常强大的编辑器,如果配合合适的插件,甚至几乎可以取代大多数编译器的功能。在编辑配置文件的时候,常常需要在多行文字的同一个地方插入相同的内容,或者在同一个地方进行批量删除,这个时候列编辑的功能就派上用场了。这一节我们一起来看看vim如何进行列编辑。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

使用方法详解

如果要在vim里面选择一段文字,有三种方法:

  • 字符模式(Character mode)
    键盘小写v,这个时候和按住鼠标移动光标的效果一样,如下图。页面底部会出现-- VISUAL --的字样。
    vim如何列编辑:块模式visual block操作详解和实例演示

  • 行模式(Line mode)
    键盘大写V,这个时候随着光标上下移动会选择所经过的所有整行,如下图。页面底部会出现-- VISUAL LINE --的字样
    vim如何列编辑:块模式visual block操作详解和实例演示

  • 块模式(Block mode)
    键盘Ctrl+小写v,这个时候随着光标上下移动会选择每行光标经过的所有连续单个字符。页面底部会出现-- VISUAL BLOCK --的字样
    vim如何列编辑:块模式visual block操作详解和实例演示

如果要进行列编辑,所要采用的就是上面提到的第三种方式,也就是块模式。

使用场景

举两个简单的例子

批量删除

如下图所示66-73行,我想删除每一行前面的所有#。有很多种方法可以完成这一目的,例如多行替换:66,73s/^#//g。这里我们采用块模式来完成这一目的
vim如何列编辑:块模式visual block操作详解和实例演示
首先光标放在66行的#上,按键盘Ctrl+v进入块模式
vim如何列编辑:块模式visual block操作详解和实例演示
向下一直选择到73行,注意光标跳动的行或者列也有被选中
vim如何列编辑:块模式visual block操作详解和实例演示
按键盘上的小写d删除
vim如何列编辑:块模式visual block操作详解和实例演示

关于vim键盘快捷键集锦和实例演示可以关注我的vim系列专栏

批量插入

如下图所示,我想在66-73行的开头插入test字样。同样进入块模式,并且选择多行
vim如何列编辑:块模式visual block操作详解和实例演示
按键盘大写I插入,页面底端显示-- INSERT --字样。这时候输入的话只会在第一行显示,但是不用担心
vim如何列编辑:块模式visual block操作详解和实例演示

插入是在光标左边,添加是在光标右边,块模式下的快捷键分别是IA

按键盘Esc退出插入模式,成功完成了多行插入
vim如何列编辑:块模式visual block操作详解和实例演示

总结

块模式下还有很多操作,例如批量复制,批量移动等等,这里就不一一举例了,感兴趣的朋友欢迎关注我的vim专栏键盘快捷键集锦文章。