Vim:grep的通配符在windows中不起作用

Mer*_*glu 5 windows vim grep

我尝试使用vim的内部grep和'**'通配符,如下面的命令:

grep "test" **\*.txt
Run Code Online (Sandbox Code Playgroud)

vim给出以下错误:

FINDSTR: Cannot open **\*.txt
Run Code Online (Sandbox Code Playgroud)

当我删除'**'通配符时,该命令正常工作:

grep "test" *.txt
Run Code Online (Sandbox Code Playgroud)

我将反斜杠更改为正斜杠,但它也没有帮助:

grep "test" **\*.txt
Run Code Online (Sandbox Code Playgroud)

这再次给出了上述错误.

可能是什么原因?

注意:我在Microsoft Windows XP上使用GVim 7.2.

Hab*_*abi 5

在XP下在Vim中执行":grep"默认情况下不使用"grep.exe".默认情况下,使用"FINDSTR",它是Windows安装的一部分."FINDSTR"与grep不兼容.因此,您会收到错误消息

FINDSTR: Cannot open **\*.txt
Run Code Online (Sandbox Code Playgroud)

请参阅":help grepprg".

如果要使用grep的Windows端口,则必须安装它,因为grep既不是Windows的一部分,也不是Vim安装的一部分.

但是因为7.0 Vim有一个叫做vimgrep的内部grep.有关详细信息,请参阅":help vimgrep".

您必须相应地设置'grepprg',以便使用grep或vimgrep(而不是默认的FINDSTR).

  • 非常感谢你.这解决了问题:":设置grepprg = internal" (2认同)