30

vim では、vimgrep で頻繁に検索します。以下のようなマッピングがあります。

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

問題は、検索したくない一時的なサブフォルダー (obj、objd など) がいくつかあることです。特定のパターンに一致するサブフォルダーを除外するにはどうすればよいですか。たとえば、接頭辞が「objd」のサブフォルダーは検索に含めないでください。

4

4 に答える 4

34

Vim 7.3.570 以降では、wildignore を使用して vimgrep でパターンを除外できます。

たとえば、objd サブフォルダーを無視するには、次のようにします。

:set wildignore+=objd/**

パターンをコンマで区切ることにより、追加の除外を追加できます。

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

詳細については、Vim のヘルプ ドキュメントを参照してください。

:help wildignore
于 2013-11-18T07:09:56.503 に答える
12

代わりにackを試すことができます。vim とうまく統合され、やりたいことを実行するための多くのオプションがあります。

GitHub にはいくつかの ack-vim 統合があります。例:ここ.

于 2009-12-15T16:17:26.747 に答える
2

たとえば、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 で開いている検索フレーム、楽しんでください
于 2013-05-26T20:58:51.933 に答える