什么是选择当前单词的多个实例并更改它们的vim方式?

Gho*_*r21 9 vim sublimetext2

任何熟悉Sublime Text的多光标功能的人都会识别出执行以下操作的模式:多次按热键以选择光标下的多个单词实例,并自动为每个实例创建一个新光标.然后同时编辑每个实例,例如将当前单词替换为另一个单词或任何你想要的单词.

多个游标功能可用于vim via 插件.在使用该插件之前,我想(作为一个新的vim用户),检查是否有更本地的vim方式来实现相同的任务.

例如,我知道我可以使用该:s命令进行搜索和替换(根据此处的说明),但这要求我(1)键入我要替换的单词(或使用<C-r><C-a>快捷方式这样做),而不是简单地使用当前单词和(2)定义范围.也许这是本土的vim方式,也许(可能!)还有另一种我不知道的方式.

那么本机的vim方式是什么?

Pet*_*ker 16

我用的*,gn以及.进行更改.

  • 选择当前单词*(返回N)
  • gn运动改变单词.例如cgnfoo<esc>
  • 通过.命令重复

注意:如果您有许多更改,那么使用替换命令可能会更好.

关于这个动议有一个很好的Vimcasts插曲gn:使用gn在搜索匹配上进行操作.

有关更多帮助请参阅:

:h *
:h gn
:h .
Run Code Online (Sandbox Code Playgroud)

  • 挖出['非常快且中肯的博文'](https://web.archive.org/web/20170329063103/http://alexkuang.com/blog/2015/01/24/gn-in- vim/) ...已死的可能永远不会死;-) (5认同)
  • * 选择匹配的下一个单词。使用 Ctrl + N 返回“原始”单词,然后按照此答案中的命令进行操作。`* =&gt; Ctrl + N =&gt; cgnfoo&lt;Esc&gt; =&gt; 。`(逐字切换) (2认同)
  • `&lt;cn&gt;` 在正常模式下默认按行向下。我认为你的意思是“N”,所以shift + n 键。请参阅 `:h CTRL-N` 和 `:h N` (2认同)