はじめに
vimをIDEっぽくしたい第5弾!
vimgrepでプロジェクト内のファイルを検索し、
検索結果一覧から目的箇所へジャンプするやりかたです。
別タブで開く方法も紹介。
1.vimの内部的なgrep vimgrepでファイルを検索しましょう。
vimを開いてvimgrepコマンドをたたきましょう。
vimgrepに関しては、詳細は書きませんが、
vimgrepとQuickfix知らないVimmerはちょっとこっち来い
という記事が参考になると思います。
:vimgrep 検索キーワード 検索ファイルのパス | cw
上記のようなコマンドをたたくと、こんな感じの画面に切り替わります。
※たたいたコマンドは、:vimgrep a % | cw
検索ファイルのパス
指定の方法 | 説明 | コマンドの例 |
---|---|---|
% | 現在のファイルを指定 | :vimgrep 検索ワード % | cw |
**/*.拡張子 | 再帰的に検索 ex) /usr/local/var/**/*.拡張子 | :vimgrep 検索ワード /usr/local/var/**/*.php % | cw |
2.検索結果一覧から目的箇所へジャンプ
grepの結果が画面の下に現れます。
ここで、:cc grep結果の行ナンバー
とコマンドをたたくと、その場所にとびます。
ただし、これだと今開いているファイルが切り替わってしまいます。
%で現在のファイルを指定している場合はこれでもいいのかもしれませんが、
再帰的にgrepした場合は、別タブで開きたいです。
3.別タブを開いて目的箇所へジャンプするには?
コマンドをパイプ(|)でつなぎましょう。:tabnew | :cc grep結果の行ナンバー
とコマンドをたたくと、別タブが立ち上がって、その場所にとびます。
こんな感じ。
色々な機能と組み合わせるとIDEっぽく使えます。
過去記事
■ vimをIDEっぽくしたいなぁ4 ~function,switch,foreachをテンプレファイルにしておいて、ワンタッチで呼び出す。あ、.vimrc使います~
■ vimをIDEっぽくしたいなぁ3 ~nerdtreeを使い、vimを開いた状態でディレクトリをツリー表示、そこから別ファイルに飛んじゃおう~