Подтвердить что ты не робот

Как исключить шаблоны файлов в vimgrep?

В vim я часто просматриваю vimgrep. У меня есть отображение, как показано ниже:

map <leader>s :execute "noautocmd vimgrep /\\<" . expand("<cword>") . "\\>/gj **/*.*" <Bar> 
cw<CR> 5

Проблема в том, что существуют временные вложенные папки (такие как obj, objd), которые я не хочу искать. Как я могу исключить подпапки, соответствующие заданным шаблонам. Например, в поиске не следует включать вложенные папки с префиксом "objd".

4b9b3361

Ответ 1

Начиная с Vim 7.3.570, вы можете использовать wildignore для исключения шаблонов с помощью vimgrep.

Например, чтобы игнорировать вложенную папку objd:

:set wildignore+=objd/**

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

:set wildignore+=objd/**,obj/**,*.tmp,test.c

Дополнительную информацию см. в справочной документации Vim.

:help wildignore

Ответ 2

Вы можете попробовать извед вместо этого. Он прекрасно интегрируется с vim и имеет множество опций для того, что вы хотите делать.

На GitHub есть несколько интеграций ack-vim. Например: здесь.

Ответ 3

Например, в Ubuntu просто

sudo apt-get install ack-grep

sudo ln -s /usr/bin/ack-grep /usr/bin/ack

затем установите http://www.vim.org/scripts/script.php?script_id=2572

и теперь добавьте следующую строку в ваш .vimrc

noremap <C-f> :copen<CR>:Ack --ignore-dir #first_ignore_dir# --ignore-dir #second_ignore_dir# -ai 
  • его открытый кадр поиска по Ctr + F, получайте удовольствие