3

少し前に 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 は、検索するファイルです。問題は、ファイル名を提供していないことです。そのため、検索用語が実際に検索するファイルであると考える理由がわかりません。

どういうわけか、vimはcmd.exeに引数を間違って渡しています-しかし、それがどのように行われるのかわかりません

更新 2

Vim は問題ではありません。私のバージョンの Ack が何らかの形で盗聴されているに違いありません。

cmd.exeを開いて次のように入力すると:

ack searchterm

次に、エラーメッセージも表示されます。

ack: searchterm: No such file or directory

ack と入力すると、次のようになります。

ack

それから検索を開始します...何かを...誰が何を知っていますか

それは、両方の例で私が期待するものではありません。近づいてるはずなのに…

4

2 に答える 2

6

わかりました、私はそれを解決しました。.ackrc ファイルが壊れていました。どうやらこれは無効な構文です:

--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

なぜそれがエラーを引き起こすのか、私にはわかりません。しかし、それが犯人でした。

于 2011-09-14T05:55:50.657 に答える
1

よくやった。Linux(crunchbang)を使用してackから同じエラーが発生していました。
~/.ackrc ファイルを Windows からコピーしたことが判明しました。
古き良きdos2unixで修正しました。

$ ack -f --python
: No such file or directory
于 2013-10-12T02:48:03.583 に答える