在IntelliJ IDE中,我可以使用“为下次出现添加选定的文本”快捷键来添加任何重复的单词。如果同时选择了多个单词,则可以使用IdeaVim插件并按ciw
一次更改所有单词。
但是,我无法成功完成此操作。例如,如果我在双引号之间选择一组文本:" hello there "
,那么最终发生的事情是我将能够选择/突出显示hello there
的重复组,但是按任何键都会导致我出现仅更新hello there
的第一个选择,而不更新其他选择。
我确实意识到,仅通过在整个页面中进行查找/替换就可以实现相同的效果,但是我喜欢一次只按一个按钮一次添加一个事件的便利。有什么建议吗?
答案 0 :(得分:1)
有几种方法可以实现您提到的行为。但是,如果您正在寻找一种具有类似于Intellij的视觉效果的方法,则可能需要使用vim插件,例如vim-multiple-cursors。
以下是一些vim的方法:
下一个事件+重做上一个命令:
/
搜索所有发生的事件(/,您好)n
导航至下一个事件v
和箭头键/ l
选择区域s
替换区域,或用x
删除区域下的文本n
(下一次出现),.
(点)重做上一个命令并重复n
+ .
MACRO :
/
搜索所有发生的事件(/,您好)qq
开始录制宏以键 q q
停止录制宏@
然后q
来应用键 q 注意:如果要重复5次n次,只需在@
前面加上一个数字(例如5@q
即可应用宏5次。如果仅出现4次,则宏将仅可以使用4个计时器。)
查找并替换:
:%s/ hello there /new value/g
全局将“ hello there”替换为“ new value”。
要替换特定位置的事件,请使用可视块v
选择块,然后使用:'<,'>s/ hello there /new value/g
仅在选定区域中替换