Vim 搜索模式加标记出现次数

Vim Mode Plus Mark Occurrence for search

当我输入 /foo 然后输入时,有没有办法标记所有突出显示的词的出现?现在,/search 与常规原子搜索相比似乎毫无用处,因为它只突出显示但不允许替换。

关键字 / 用于搜索,而 :s 用于 s 替换(即替换)。所以要用 bar 替换 foo 你可以这样做:

:%s/foo/bar/gc

这里的%表示在整个文件中寻找替换,最后的gc是替换标志。 Vim 文档对该主题提供了很好的解释,可以通过键入 :help subs 来访问它。要了解有关替换标志的更多信息::h flags.

关于良好工作流程的更多建议(至少在 Vim 本身):

  • 使用/foo定位匹配后,只想替换那个:由于光标在匹配开始处,可以使用cecE 或更一般地 cgngn 选择当前/下一个匹配项;它是 8.0 版中最近添加的内容)。
  • 如果要替换所有匹配项,不需要在:substitute命令中重复搜索模式;一个空的 {pattern} 将调用搜索模式。所以,你可以简单地写 :%s//bar/g (+ c 来交互影响替换)。

enter好像不能标记出现。但是,如果我没有按enter,我可以做一些事情。

  • cmd-o 标记所有搜索事件

  • ctr-cmd-c等你指定一个范围,然后改变所有的搜索出现