zshのプロンプトにGitのブランチ名を表示する

こんにちは.エンジニアの研修が始まって一週間,便利ツールに溺れながら必死に使いこなそうとしているきたけーです.

研修でRails tutorialをやっているのですが,ちょくちょくGitでブランチを切る機会があります.どのブランチにいるか忘れて「git branch」しまくってるので,zshのプロンプトに表示することにしました.

# VCSの情報を取得するzshの便利関数 vcs_infoを使う
autoload -Uz vcs_info

# 表示フォーマットの指定
# %b ブランチ情報
# %a アクション名(mergeなど)
zstyle ':vcs_info:*' formats '[%b]'
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () {
    psvar=()
    LANG=en_US.UTF-8 vcs_info
    [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
}

# バージョン管理されているディレクトリにいれば表示,そうでなければ非表示
RPROMPT="%1(v|%F{green}%1v%f|)"

見せ方を考えたり,得られる情報をもっと活用したいですが,まずはベビーステップからということで...

f:id:kitak:20130525103043p:plain

参考サイト

http://mollifier.hatenablog.com/entry/20090814/p1