Недавно я установил 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
- результат должен быть таким же, как я думал.
Любые идеи?
ОБНОВЛЕНИЕ:
Теперь я знаю, что сообщение «Нет такого файла или каталога» связано с тем, что Ack думает, что я запускаю этот формат команды ack:
ack searchterm filename
Где имя файла - это файл, в котором вы хотите выполнить поиск. Проблема в том, что я не указываю имя файла, поэтому я не уверен, почему он считает, что мой поисковый запрос на самом деле является файлом для поиска.
Каким-то образом vim неправильно передает аргументы cmd.exe, но я просто не понимаю, как это можно сделать.
ОБНОВЛЕНИЕ 2
Вим не проблема. Должно быть, моя версия Ack каким-то образом глючит.
Если я открою cmd.exe и наберу это:
ack searchterm
то я также получаю сообщение об ошибке:
ack: searchterm: No such file or directory
Если я просто наберу ack:
ack
затем он начинает искать... что-то... кто знает что
Это не то, что я ожидал бы в обоих примерах. Хотя, должно быть, я приближаюсь...