今こそ!git の branch を vim のステータスラインに表示!!するとき!!!

当然、ターミナルのプロンプトには表示させてますよね?zshならvcs_infoとか使えばいいですし。では、Vimはどうですか?各種git操作はVimからしないって?甘い、甘い。

git の branch を vim のステータスラインに表示 - #生存戦略 、それは - subtech
2008年3月のエントリですが、大変そうですね。でも今なら簡単です!fugitive を使えばいいんです!!

ギットギトなVimmerにはすっかりお馴染みかもしれないfugitiveです。それ自体は VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい - SELECT * FROM life;Vim-users.jp - Hack #219: Gitを使う2 – Fugitive.vim あたりが詳しいです。
:Gstatusからのstage/unstageが便利すぎますね!

%{fugitive#statusline()}

ここからが、まだ日本語では言及されてないっぽい情報。%{fugitive#statusline()}というのがあるんです。これをstatuslineに書けばいいんです。たとえばこんな感じ。

set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P
https://github.com/tpope/vim-fugitive/blob/a27c0fc633efcd2b294c07e09f2565df258f83e8/doc/fugitive.txt#L198-206

f:id:marutanm:20110708211702p:image
ブランチだけではなく、開いているファイルのリビジョンも表示してくれます。これで:Gdiffしてどっちがどっちかわからなくなることもないですね。