Vim: подстановочный знак grep не работает в окнах

Я пытаюсь использовать внутренний grep энергии с '**' подстановочный знак как в следующей команде:

grep "test" **\*.txt

энергия дает следующую ошибку:

FINDSTR: Cannot open **\*.txt

Когда я удаляю '**' подстановочный знак, команда работает правильно:

grep "test" *.txt

Я изменил обратные косые черты на наклонные черты вправо, но это не помогло ни одному:

grep "test" **\*.txt

Это дает вышеупомянутую ошибку снова.

Какова могла бы быть причина?

Примечание: Я использую GVim 7.2 на Microsoft Windows XP.

5
задан Mert Nuhoglu 24 June 2010 в 09:17
поделиться

3 ответа

Выполнение ":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 по умолчанию).

5
ответ дан 14 December 2019 в 01:01
поделиться

Вам следует попробовать vimgrep .

1
ответ дан 14 December 2019 в 01:01
поделиться

Установите cygwin , mingw , или unxutils , чтобы получить grep (я использую cygwin). Добавьте каталог bin в свой PATH.

И, как Хаби сказал , добавьте в vimrc:

set grepprg=grep\ -nH

(Это то, что grep on * nix использует по умолчанию.)

Также, если вы : help grep , вы получите описание различий между grep и vimgrep. (Скорость против портативности и гибкости.)

2
ответ дан 14 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: