暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

vim编辑器中的列编辑

生有可恋 2021-10-24
5748

列编辑是指可以对选中行进行同时编辑,类似我们小时候抄作业,手握两只笔一次可以写两行。列编辑功能可以快速对多行进行插入或删除,在不支持列编辑的编辑器里,就只能一行一行地重复操作了。


我们用例子来演示具体的功能


例1.  演示列删掉,删掉日志前的时间标记,只留下有用的部分



GIF动图中,为了演示,我操作了两遍,中间使用u回退了一次。具体操作过程是,ctrl+v 进入可视化操作模式,使用hjkl进行上下左右方向控制选中要删除的部分,最后输入d进行删除。


例2.  演示列插入,在选中列批量批入一段字符 Y000000



操作过程是,ctrl+v 进入可视化操作模式,使用hjkl进行上下左右方向控制选中要插入的位置,最后输入大写字母I(shift+i或 CAPSLOCK i),然后输入要输入的字符,输入完毕以ESC键结束,当前选中列就会插入输入的字符。


例3.  演示列替换,在选中的部分批量替换为字符99999



操作过程是,ctrl+v 进入可视化操作模式,使用hjkl进行上下左右方向控制选中要删的部分,接着输入字母s,然后输入要输入的字符,输入完毕以ESC键结束,选中部分就会替换为输入的字符。替换操作有点像删除加插入的组合。


除了上述的列删除、列插入、列替换,还有列复制和列粘贴就不演示了。我将快捷键汇总一下:

  • 列删除  ctrol+v,  选中后 d

  • 列插入  ctrol+v,  选中后 shift+i ,编辑完毕 ESC

  • 列替换  ctrol+v,  选中后 s ,编辑完毕 ESC

  • 列复制  ctrol+v,  选中后 y

  • 列粘贴  p


最后再介绍一下vim的特性,这个特性配合列操作可以把编辑界面变成黑板,可以把文本从一个位置移到另一个位置。


正常情况下,我们没法将光标移动到没有文字的位置,这和我们在notepad中的感受是一样的,光标只能在有文本或空白的地方移动。vim有个选项可以把整个编辑界面都假设为充满空格,当光标移动到空白处输入字符,它会自动在输入位置的前面补充空格。


在命令模式输入:set virtualedit=all 即可进入这种模式。这种模式在其它编辑器中很少有实现的,是vim的一个特性。




文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论