2012-05-24 vimでgrep linux external grep と internal grep vimのgrepは2種類ある。一つはexternalgrep(外部grep)。GNUgrepとかwindowsならfindstrとかいうvim提供ではない検索機能をvimの中で使う。正規表現とか指定する引数とかは外部コマンドに引きずられる。:grepで検索。もうひとつはinternalgrep(内部grep)。こっちはvimが提供する機能。外部コマンド云々は関係ないため、どのOSで使おうと正規表現とかは一緒になる。:vim[grep]で検索。 検索する :vim /test/gj ** | cw :vim[grep]が検索コマンド。頭に数字をつけると、その数字の分だけ検索結果を表示する。:1vimgrepでヒットした1件のみを表示みたいな。 スラッシュで囲まれた部分はvimの正規表現。後ろのgjは各文字フラグで、gは1行内で複数回ヒットした場合、ヒットした回数だけ検索結果として表示する。jはjフラグがない場合は一番最初にヒットしたファイルを開く動作をするんだけど、それを抑制する。 cwはquickfixでヒットしたファイル名と行数を一覧表示してくれる。