現在のディレクトリがgitの管理下にあるかどうか判定する方法を思いついたので、 walf443さんの方法 を改良してみました。 こんな感じに、gitで管理されてないディレクトリではブランチ名を表示しなくなります。 実際のzshrcは以下の通り。 1 _set_env_git_current_branch() { 2 GIT_CURRENT_BRANCH=$( git branch &> /dev/null | grep '^\*' | cut -b 3- ) 3 } 4 5 _update_rprompt () { 6 if [ "`git ls-files 2>/dev/null`" ]; then 7 RPROMPT="[%~:$GIT_CURRENT_BRANCH]" 8 else 9 RPROMPT="[%~]" 10 fi 11 } 12 13 precmd