不久前,我在我的 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
其中文件名是您要搜索的文件。问题是我没有提供文件名 - 所以我不确定为什么它认为我的搜索词实际上是要搜索的文件。
vim 以某种方式错误地将参数传递给 cmd.exe - 但我只是看不出它是如何做到的
更新 2
Vim 不是问题。一定是我的 Ack 版本以某种方式被窃听了。
如果我打开 cmd.exe 并输入:
ack searchterm
然后我也收到错误消息:
ack: searchterm: No such file or directory
如果我只输入 ack:
ack
然后它开始搜索……寻找一些东西……谁知道呢
这不是我在这两个例子中所期望的。不过,我一定越来越近了……