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

投稿者 okkez 2009-02-15 14:35:00 GMT

以下のようにすれば、とりあえず表示はできる。 けど、ブランチを切り替えたときに一回コマンドを実行するまではプロンプトの表示が古いままになってしまう。

DEFAULT_RPROMPT=$RPROMPT
# ...
typeset -ga chpwd_functions
typeset -ga preexec_functions
function _set_rprompt_git() {
  local git_branch
  git_branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
  if [ $? != '0' ]; then
    RPROMPT=$DEFAULT_RPROMPT
  else
    RPROMPT="${DEFAULT_RPROMPT}:%{${fg[blue]}%}${git_branch}%{${reset_color}%}"
  fi
}
chpwd_functions+=_set_rprompt_git
preexec_functions+=_set_rprompt_git

=== 参考

カテゴリ  | タグ ,  | コメントなし | トラックバックなし

zsh と git でファイル名の補完が遅いとき

投稿者 okkez 2008-12-02 20:01:00 GMT

zsh 上で git を使っていてファイル名の補完が遅いことがありました。 特に git add のときに遅い場合は .gitignore にファイル数が多い untracked なディレクトリの名前を 追加すると良いです。

カテゴリ  | タグ ,  | コメントなし | トラックバックなし