Vor nicht allzu langer Zeit hatte ich Ack mit Vim auf meinem Windows XP Rechner installiert und funktionierte einwandfrei. Ich weiß nicht, was ich vor kurzem getan habe, aber jetzt funktioniert es nicht mehr.
Hier ist ein Beispiel für mein Problem in Vim:
:Ack searchterm
Gibt diese Fehlermeldung zurück:
ack: searchterm: No such file or directory
Wenn ich versuche, den Befehl "manuell" in Vim auszuführen:
:!ack searchterm
Es öffnet sich ein cmd.exe-Dialogfeld mit der folgenden Meldung:
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....
Immer noch kein Glück.
Was seltsam ist, ist, wenn ich zu START > Run
und geben Sie dann diesen Befehl ein:
cmd.exe /c ack searchterm
Es funktioniert gut, und Ack sucht fröhlich weiter nach searchterm
Das verstehe ich nicht. Wie kann die Art und Weise, wie Vim cmd.exe aufruft, anders sein als die Art und Weise, wie ich es über run
- sollte das Ergebnis dasselbe sein, hätte ich gedacht.
Irgendwelche Ideen?
UPDATE :
Ich weiß jetzt, dass die Meldung "No such file or directory" daher kommt, dass Ack denkt, ich würde dieses Format des ack-Befehls ausführen:
ack searchterm filename
Dabei ist Dateiname die Datei, in der Sie suchen möchten. Das Problem ist, dass ich keinen Dateinamen angebe - daher bin ich mir nicht sicher, warum es denkt, dass mein Suchbegriff tatsächlich die Datei ist, in der gesucht wird.
Irgendwie gibt vim die Argumente falsch an cmd.exe weiter - aber ich kann mir nicht vorstellen, wie es das tun könnte
UPDATE 2
Vim ist nicht das Problem. Es muss an meiner Version von Ack liegen, die irgendwie fehlerhaft ist.
Wenn ich cmd.exe öffne und Folgendes eingebe:
ack searchterm
dann bekomme ich auch die Fehlermeldung:
ack: searchterm: No such file or directory
Wenn ich einfach ack:
ack
dann beginnt es zu suchen... nach etwas... wer weiß was
Das ist nicht das, was ich in beiden Beispielen erwarten würde. Ich muss aber näher dran sein...