是否可以同时编辑同一行中的多个单词?

例如,假设我有以下内容:

Spam and Eggs is all you need for a healthy breakfast


,我想将行更改为:

organic_Spam and organic_Eggs is all you need for a healthy breakfast


我想突出显示“垃圾邮件”和“鸡蛋”,并同时在“ organic_”之前添加“垃圾邮件” ”和“鸡蛋”。有点像使用可视块在不同的行上同时写,但是这里在同一行上写东西。我看到一位同事使用Sublime Text进行此操作,并尝试使用谷歌搜索,但无济于事。

评论

相关问题:如何实现选择不同行长的不同文本

我一直认为在vim中,多个选择/光标功能只是让人眼花...乱...

#1 楼

我在这里同意亚历山大。在日常编辑中,我可能会使用。命令也是,但是如果您只想执行一条命令,我可以使用替代命令:

:s/S\|E/organic_&/g


&是来自/S\|E/的匹配模式。

#2 楼

在Vim中,没有类似Sublime Text的多光标(但我记得有一些插件)。但是它似乎对vim来说并不重要,因为还有另一种方法可以实现这一目标。例如,您有这行

Spam and Eggs is all you need for a healthy breakfast


我会做这样的事情:将光标置于普通模式下的Spam的第一个字母,然后输入i organic_ Esc,然后输入两个w跳到Eggs并按。 (点)重复上一个动作。因此,对我来说,这比Sumlime Text中的生产力要高得多,但也许并不那么花哨和直观。

无论如何,这两个编辑器中都有一些针对此操作的预处理工作,在Sublime Text中是一种选择使用一些热键放置新的多光标位置,所有这些操作之后,您就可以同时编辑单词。在Vim中,这种“预处理”实际上是在行编辑时发生的,我的意思是所有这些ww。东西。

#3 楼

如果您确实想要像Sublime这样的多光标支持,则可以使用此插件:https://github.com/terryma/vim-multiple-cursors

这不是vim的方式,但是我经常使用它而且效果很好