Ack.vim «Нет такого файла или каталога» ошибка в Windows - PullRequest
3 голосов
/ 14 сентября 2011

Я недавно установил Ack и отлично работал с Vim на моем компьютере с Windows XP.Не уверен, что я делал недавно, но теперь это не работает.

Вот пример моей проблемы в 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

Она отлично работает, и Акк радостно ищет searchterm

Я не понимаю.Как способ, которым Vim вызывает cmd.exe, может отличаться от того, как я вызываю его через run - результат должен быть таким же, как я думал.

Есть идеи?

UPDATE :

Теперь я знаю, что сообщение "Нет такого файла или каталога" связано с тем, что Ack считает, что я запускаю этот формат команды ack:

ack searchterm filename

Где имя файлафайл, который вы хотите найти. Проблема в том, что я не предоставляю имя файла - поэтому я не уверен, почему он считает, что мой searchterm на самом деле файл для поиска.

Каким-то образом vim передаетневерные аргументы для cmd.exe - но я просто не вижу, как это могло сделать

ОБНОВЛЕНИЕ 2

Vim не проблема.Должно быть, моя версия Ack как-то глючит.

Если я открою cmd.exe и наберу:

ack searchterm

, я также получаю сообщение об ошибке:

ack: searchterm: No such file or directory

Если я просто наберу ack:

ack

, тогда он начнет искать ... что-то ... кто знает, что

Это не то, чего я ожидал бы в обоих примерах,Я должен быть ближе, хотя ...

Ответы [ 2 ]

6 голосов
/ 14 сентября 2011

ОК, я разобрался. Мой файл .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

Почему, черт возьми, это может привести к ошибке, я не знаю. Но это был виновник.

1 голос
/ 12 октября 2013

Отличная работа.Я получал ту же ошибку от ack, используя linux (crunchbang).
Оказалось, что я скопировал мой файл ~ / .ackrc из Windows.
Исправил это с помощью старого доброго dos2unix.

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