当我输入/foo
然后输入时,有没有办法标记所有突出显示的单词的出现次数?现在,与常规原子搜索相比,/
搜索似乎相当无用,因为它只是突出显示但不允许您替换。
答案 0 :(得分:2)
键/
用于搜索,而:s
用于 s ubstitutions(即替换)。因此,要将foo
替换为bar
,您可以执行以下操作:
:%s/foo/bar/gc
此处%
表示在整个文件中查找替换,最后gc
是替换标记。 Vim文档提供了对该主题的很好的解释,可以通过键入:help subs
来访问它。要了解有关替换标志的更多信息::h flags
。
答案 1 :(得分:0)
有关良好工作流程的更多建议(至少在Vim本身):
/foo
找到匹配项后,您只想替换该匹配项:由于光标位于匹配开头,您可以使用ce
,cE
或更常见的是cgn
(gn
选择当前/下一个匹配;它是8.0版本中的新增内容。):substitute
命令中重复搜索模式;空{pattern}
会调用搜索模式。因此,您可以简要地写一下:%s//bar/g
(+ c
来交互式影响替换。)答案 2 :(得分:0)
如果按enter
,似乎无法标记出现。但是,如果我没有按下enter
,我可以做一些事情。
cmd-o
标记所有搜索事件
ctr-cmd-c
等待您指定范围,然后更改所有搜索事件