Я пытаюсь использовать внутренний grep энергии с '**'
подстановочный знак как в следующей команде:
grep "test" **\*.txt
энергия дает следующую ошибку:
FINDSTR: Cannot open **\*.txt
Когда я удаляю '**'
подстановочный знак, команда работает правильно:
grep "test" *.txt
Я изменил обратные косые черты на наклонные черты вправо, но это не помогло ни одному:
grep "test" **\*.txt
Это дает вышеупомянутую ошибку снова.
Какова могла бы быть причина?
Примечание: Я использую GVim 7.2 на Microsoft Windows XP.
Выполнение ":grep" в Vim под XP не использует "grep.exe" по умолчанию. По умолчанию используется "FINDSTR", который является частью установки Windows. "FINDSTR" не совместим с grep. Из-за этого вы получите сообщение об ошибке
FINDSTR: Cannot open **\*.txt
См. ":help grepprg".
Если вы хотите использовать порт grep для Windows, вам придется установить его. поскольку grep не входит ни в состав Windows, ни в состав Vim. установки.
Но начиная с версии 7.0 в Vim есть внутренний grep под названием vimgrep. Подробности смотрите в разделе ":help vimgrep".
Вы должны установить 'grepprg' соответствующим образом, чтобы использовался либо grep или vimgrep (вместо FINDSTR по умолчанию).
Установите cygwin , mingw , или unxutils , чтобы получить grep (я использую cygwin). Добавьте каталог bin в свой PATH.
И, как Хаби сказал , добавьте в vimrc:
set grepprg=grep\ -nH
(Это то, что grep on * nix использует по умолчанию.)
Также, если вы : help grep
, вы получите описание различий между grep и vimgrep. (Скорость против портативности и гибкости.)