Vim grep设置问题(获取FINDSTR:使用findstr时无法打开System32,并且无法弄清楚如何设置外部grep)

时间:2014-08-20 21:25:57

标签: vim grep findstr

我在Windows 7 x64中使用Gvim 7.4。当我贪图什么时,我得到错误:

FINDSTR: Cannot open System32

我查了一下,发现this question。我认为我的情况有所不同。我不知道造成错误的原因。我不想在vim中使用内部grep。我或者想要findtr或者只是普通的grep(答案并没有涵盖设置外部grep,它只是提到它可行)从我的理解(纠正我,如果我错了)我在vim中做grep,它找到了我的操作系统的搜索工具,并使用它。所以我应该好好去使用findstr,为什么它不起作用?

我最终放弃了findstr并将UnxUtils安装到C:\Linux但是我无法弄清楚如何设置vim的外部grepping工具来使用C:\Linux\grep.exe - 我知道这与grepprg有关,但我不确定如何,我尝试将其设置为grepprg="C:/Linux/grep.exe"(或grep.exe -n为此事项 - 有和没有{{ 1}})但是每次我寻找像.exe grep someString .这样的东西时,这都不起作用。该文件在这个问题上含糊不清。如何将vim的外部grep设置为我安装的?

感谢。


编辑:

我还尝试添加' grep.exe'到我的一个it says someString is not recognized as an internal or external command目录(system32) - 然后$PATH但现在当我grep它说set grepprg=grep\ -nH

2 个答案:

答案 0 :(得分:1)

听起来你的64位System32目录就是findstr所在的目录,但如果你正在运行一个32位的Vim,它实际上不会看到该目录。相反,由于Windows的功能,它会看到c:\ windows \ Syswow64目录。但你可以强迫Vim看看"真实" System32文件夹,将其添加到.vimrc中的路径:

let $PATH.=';C:\Windows\Sysnative'

答案 1 :(得分:0)

所以我必须将grep.exe复制到我的Vim installation/Vim74而不是C:/Windows/system32,并且还要set grepprg=grep\ -nH