Ack.vim“没有这样的文件或目录”在Windows上的错误

我不久前在Windows XP机器上安装了Ack,并且能够正常工作。 不知道我最近做了什么,但现在它不工作。

这里是我在Vim的问题的一个例子:

:Ack searchterm 

返回这个错误信息:

 ack: searchterm: No such file or directory 

如果我尝试在Vim中手动运行命令:

 :!ack searchterm 

这将打开一个cmd.exe对话框,其中包含以下消息:

 C:\WINDOWS\system32\cmd.exe /c ack searchterm ack: searchterm: No such file or directory shell returned 1 Hit any key to close this window.... 

仍然没有运气。

奇怪的是,如果我去START > Run ,然后键入这个命令:

 cmd.exe /c ack searchterm 

它工作正常,Ack愉快地searchsearchterm

我不明白。 Vim如何调用cmd.exe的方式与我如何通过run调用方式不同 – 结果应该是我想的。

有任何想法吗?

更新

我现在知道消息“没有这样的文件或目录”是因为Ack认为我正在运行ack命令的这种格式:

 ack searchterm filename 

其中文件名是您要search的文件。问题是,我没有提供一个文件名 – 所以我不知道为什么它认为我的searchterm实际上是search文件。

不知何故,vim传递错误的参数到cmd.exe – 但我不明白它是如何做到这一点

更新2

Vim不是问题。 这肯定是我的Ack版本以某种方式被惹怒了。

如果我打开cmd.exe并input:

 ack searchterm 

那么我也收到错误信息:

 ack: searchterm: No such file or directory 

如果我只是inputack:

 ack 

那么它开始寻找… …的东西…谁知道什么

这不是我所期望的两个例子。 我必须越来越接近…

好的,我解决了。 我的.ackrc文件被borked。 显然这是无效的语法:

 --type-set coffeescript=.eco,.coffee plsql=.tab,.bdy,.spc,.seq,.tps,.trg,.prc,.vw,.fnc,.syn 

正确的语法是:

 --type-set coffeescript=.eco,.coffee --type-set plsql=.tab,.bdy,.spc,.seq,.tps,.trg,.prc,.vw,.fnc,.syn 

为什么这会导致我不知道的错误。 但那是罪魁祸首。

工作很好 我使用linux(crunchbang)从ack得到同样的错误。
原来我从Windows上复制了我的〜/ .ackrc文件。
修复它与旧的dos2unix。

 $ ack -f --python : No such file or directory