поиск и фильтрация файлов vimgrep - PullRequest
1 голос
/ 29 ноября 2011

Как я могу искать текст в файлах в структуре каталогов, но игнорировать определенные файлы.

Например, я хочу иметь возможность найти текст sometext, но не искать файлы, которые соответствуют *.gz

Ответы [ 2 ]

2 голосов
/ 19 мая 2018

Вы можете сделать это

vimgrep /sometext/g `find ~ \( -regextype posix-extended -regex '.*py' \) -not path ~/tmp`

Существует нечто, называемое выражением backtick, которое предоставляет аргументы для vimgrep: http://vimcasts.org/episodes/populating-the-arglist/

Здесь команда find передается в виде выражения backtick, и команда find может исключать пути из vigrep.

Фактическое условие поиска длинное, но вам не нужно вводить все это. Я обычно просто использую q:, чтобы вызвать предыдущие команды ex, выполнить поиск предыдущей команды поиска и изменить ее для следующего поиска.

1 голос
/ 29 ноября 2011

Я не думаю, что вы можете указать исключения, используя внутренний vimgrep. Однако вы можете включить несколько файловых подстановочных знаков, поэтому, если вы можете указать все интересующие вас файлы таким образом, нет необходимости исключать их. Например:

vimgrep /sometext/ *.c *.h *.txt 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...