我不久前在Windows XP机器上安装了Ack并且与Vim一起正常工作。不知道我最近做了什么,但现在它不起作用。
以下是我在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愉快地搜索searchterm
我不明白。 Vim调用cmd.exe的方式与我通过run
调用它的方式有什么不同 - 结果应该和我想象的一样。
有什么想法吗?
更新:
我现在知道消息“没有这样的文件或目录”是因为Ack认为我正在运行这种ack命令格式:
ack searchterm filename
其中filename是您要搜索的文件。问题是我没有提供文件名 - 所以我不确定为什么它认为我的searchterm实际上是要搜索的文件。
不知何故,vim将参数错误地传递给cmd.exe - 但我只是看不出它是如何做到的那样
更新2
Vim不是问题。一定是我的Ack版本在某种程度上被误导了。
如果我打开cmd.exe并输入:
ack searchterm
然后我也收到错误消息:
ack: searchterm: No such file or directory
如果我只输入ack:
ack
然后它开始搜索......寻找什么......谁知道
这不是我在两个例子中所期望的。我必须越来越近了......
答案 0 :(得分:6)
--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
为什么会导致我不知道的错误。但那是罪魁祸首。
答案 1 :(得分:1)
干得好。我使用linux(crunchbang)从ack得到同样的错误 原来我从Windows复制了我的〜/ .ackrc文件 用旧的dos2unix修复它。
$ ack -f --python
: No such file or directory