为下次出现添加选定的*句子*

时间:2019-02-10 18:15:23

标签: intellij-idea vim pycharm

在IntelliJ IDE中,我可以使用“为下次出现添加选定的文本”快捷键来添加任何重复的单词。如果同时选择了多个单词,则可以使用IdeaVim插件并按ciw一次更改所有单词。

但是,我无法成功完成此操作。例如,如果我在双引号之间选择一组文本:" hello there ",那么最终发生的事情是我将能够选择/突出显示hello there的重复组,但是按任何键都会导致我出现仅更新hello there的第一个选择,而不更新其他选择。

我确实意识到,仅通过在整个页面中进行查找/替换就可以实现相同的效果,但是我喜欢一次只按一个按钮一次添加一个事件的便利。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

有几种方法可以实现您提到的行为。但是,如果您正在寻找一种具有类似于Intellij的视觉效果的方法,则可能需要使用vim插件,例如vim-multiple-cursors

以下是一些vim的方法:

下一个事件+重做上一个命令

  1. /搜索所有发生的事件(/,您好)
  2. n导航至下一个事件
  3. v和箭头键/ l选择区域
  4. s替换区域,或用x删除区域下的文本
  5. n(下一次出现),.(点)重做上一个命令并重复n + .

MACRO

  1. /搜索所有发生的事件(/,您好)
  2. qq开始录制宏以键 q
  3. 执行先前方法中的步骤2-4
  4. q停止录制宏
  5. @然后q来应用键 q
  6. 中的宏

注意:如果要重复5次n次,只需在@前面加上一个数字(例如5@q即可应用宏5次。如果仅出现4次,则宏将仅可以使用4个计时器。)

查找并替换

:%s/ hello there /new value/g全局将“ hello there”替换为“ new value”。

要替换特定位置的事件,请使用可视块v选择块,然后使用:'<,'>s/ hello there /new value/g仅在选定区域中替换