技巧111-使用Vim内置的正则表达式引擎的Grep
- 使用:vimgrep命令让Vim在所有文件中查找单词。
- :vimgrep命令会把所有包含匹配项的行加入quickfix列表。
- 然后可以用:cnext,:cprev 浏览这些结果。
:vimgrep /going/ clock.txt tough.txt where.txt
:cnext
- 模式域后加上g标志,:vimgrep就把所有匹配此模式的地方都列出来,而不仅仅时首处匹配。
:vimgrep /going/g clock.txt tough.txt where.txt
指定查找哪些文件
- 使用通配符*
:vim /going/g *.txt
- 除了使用*和**通配符外还可以用##符号
-
表示参数列表中的所有文件;
- 可以先把希望查找的文件加入参数列表;
- 然后在参数列表中的所有文件上运行:vimgrep。
:args *.txt
:vim /going/g ##
先在文件内查找,再扩大到整个工程
- 查找don't或 Don't
/[Dd]on't
:vim //g *.txt
查找历史与:vimgrep的关系
- 用当前查找模式在参数列表的文件中查找
:vim //g ##
- 另外一种查找
- 如果想再次执行同一条:vimgrep命令,上述命令将很有用,因为它会把模式保存到命令历史中。
:vim /<C-r>//g ##