vimgrep

1. vimgrep

:vim[grep][!] /{pattern}/[g][j] {file} ...                                                                                                               

在文件 {file} ... 里搜索模式 {pattern},并用匹配结果设
置错误列表。忽略匹配 'wildignore' 的文件;最后搜索匹配
'suffixes' 的文件。

标志 说明
g 如果没有 'g' 标志位,每行只加一次。如果有 'g',每个匹配都被加入。
标志 说明
是 Vim 的搜索模式。除了用 / 之外,任何非 ID

适用 'ignorecase'。要否决该设置,在模式里用 /\c 来忽
略大小写或 /\C 来匹配大小写。
不使用 'smartcase'.
如果 {pattern} 为空 (例如,指定 //),使用前次搜索模
式。last-pattern.

标志 说明
j 如果没有 'j' 标志位,Vim 跳到第一个匹配上。如果有 'j',只更新 quickfix 列表。

如果有 [!],放弃当前缓冲区的任何修改。
eg1:在c 代码中搜索所有的 文字.

:vimgrep /an error/ *.c

eg2:在所有头文件中搜索.

:vimgrep /\<FileName\>/ *.h include/*

eg:3 搜索某个函数 .

:vimgrep /myfunc/ **/*.c

eg4: 空白分割

vimgrep Error *.c
:lv[imgrep][!] /{pattern}/[g][j] {file} ...
:lv[imgrep][!] {pattern} {file} ...

和 ":vimgrep" 类似,但使用当前窗口的位置列表而不是 quickfix 列表。

:lvimgrepa[dd][!] /{pattern}/[g][j] {file} ...
:lvimgrepa[dd][!] {pattern} {file} ...            

和 ":vimgrepadd" 类似,但使用当前窗口的位置列表而不是quickfix 列表。

使用参数列表中的文件进行查找.

➾s :args  *.txt
➾ :vim  /going/g ##

《 (1 of 4): Don' t watch the clock; do what it does. Keep going.

 /[Dd]on' t
 :vim  //g *.txt
 :vim //g  ##