Vim 他ツールと合わせて使う時ちょっと便利にgrep検索を使うマクロ

新機能実装ブランチとソース分割ブランチのマージのレビューを行うという、非常にニッチなお仕事に励んでいます。

その際、単に差分を追いかけ、分割先に新機能実装コードが入ったかどうか確認しなければなりません。

差分を追いかけるだけならWinmergeで十分だったりしますが、変数名などでGrep検索かけてマージ先を探す、みたいな事もやらなきゃいけなかったりしました。

その時にVimを使って作業時間を短縮させた方法を記します。


要はVimのマクロでクリップボードにコピーされている単語をGrep検索かけて表示する、ということをやりました。
いちいちGUI呼び出す時間は無駄、キーストロークも極力少なく、を実現できるVimのマクロは楽、ということですね。

Vimコマンド+マクロ

:vimgrep @\V^R*@j **/* | cw

\Vは/や*がクリップボードに入っていても動くような対策です。
^RはCtrl+Rのことです。*レジスタクリップボードの中身が入っているので要はペーストしてるんですね。

/*の部分を*.cなどのように検索するファイルの条件を指定してやれば楽です。

で、あとはqaでマクロ登録開始し、上のコマンドを実行してqでマクロ登録終えれば@aでコピーされた文字列でgrep検索をかけれるようになります。

Winmergeで差分を追って、気になった変数があればコピってVimにフォーカスを移して@a、で安定して早く作業ができました。