我已经阅读了问题:What's the vim way to select multiple instances of current word and change them?
不确定我是否做错了什么,但是想知道如何同时更改单词(或搜索结果)的多次出现。
给出块:
EXAMPLE_VAR = foo
bar = EXAMPLE_VAR
baz = EXAMPLE_VAR + 1000
如果我想将所有出现的EXAMPLE_VAR
更改为小写的example_var
,请阅读以下内容:
EXAMPLE_VAR
是否有一种方法可以使操作在所有搜索结果上自动重复? (我知道我可以使用替换或搜索和替换来全局执行此操作,但这需要键入所有变量名等)-这只是我发现Sublime拖慢我速度的几件事之一,我会简单地做到这一点:
答案 0 :(得分:3)
guip
与提供的示例完全一样。
如果您真的错过了Sublime的多个游标功能,则可以到处寻找插件。
答案 1 :(得分:1)
要回答上述问题,请使用递归宏:
一旦您搜索了EXAMPLE_VAR
,就会像这样:
qaqqanguw@a
但这不是最佳解决方案。 CTRL-R CTRL-W
可以为您提供帮助,它将光标下的单词复制到命令行。因此,/<CTRL-R><CTRL-W>
与*
的作用相同。
然后很容易使用全局命令:
:g/<CTRL-R><CTRL-W>/norm /<CTRL-R><CTRL-W>guw
或替代(感谢Marth):
:%s/<CTRL-R><CTRL-W>/\L&/g
正如Marth所指出的那样,如果您已经搜索过单词,则可以将示例中的/<CTRL-R><CTRL-W>/
替换为//
,而后者仅使用最后一次搜索(在全局命令的第二部分中)您将使用ng
而不是//
)。