先日紹介したgit対応の.zshrcだが、どんな場合でもCleanと表示されてしまうので修正。

## prompt
# USER –>
# For git. I referred http://kitak.hatenablog.jp/entry/2013/05/25/103059 and http://yoshiko.hatenablog.jp/entry/2014/04/02/zshのプロンプトにgitのステータスをシンプル可愛く. Thank you.
# VCSの情報を取得するzshの便利関数 vcs_infoを使う
autoload -Uz vcs_info

# 表示フォーマットの指定
# %b ブランチ情報
# %a アクション名(mergeなど)
zstyle ‘:vcs_info:*’ enable git svn
zstyle ‘:vcs_info:*’ formats ‘[%b]’
zstyle ‘:vcs_info:*’ actionformats ‘[%b|%a]’
zstyle ‘:vcs_info:*’ max-exports 6 # formatに入る変数の最大数
zstyle ‘:vcs_info:git:*’ check-for-changes true
zstyle ‘:vcs_info:git:*’ formats ‘[%b@%r]’ ‘%c’ ‘%u’
zstyle ‘:vcs_info:git:*’ actionformats ‘%b@%r|%a’ ‘%c’ ‘%u’
precmd () {
STY= LANG=en_US.UTF-8 vcs_info
st=`git status 2> /dev/null`
psvar=()
LANG=en_US.UTF-8 vcs_info
if [[ -n “$vcs_info_msg_0_” ]]
then
psvar[1]=”$vcs_info_msg_0_”
if [[ -n “$vcs_info_msg_1_” ]]
then
psvar[2]=”Staged”
elif [[ -n “$vcs_info_msg_2_” ]]
then
psvar[2]=”Unstaged”
elif [[ -n `echo “$st” | grep “^Untracked”` ]]
then
psvar[2]=”Untracked”
else
unset psvar[2]
fi
fi
}

# バージョン管理されているディレクトリにいれば表示,そうでなければ非表示
#RPROMPT=”%1(v|%F{green}%1v%f|)”
# <– USER
PROMPT=’%F{cyan}[%n@%m${WINDOW:+[$WINDOW]} %.] %1(v|%F{yellow}%1v|)%2(v|(%2v) |)%{%(?.$fg[green].$fg[red])%}%(!.#.$)%{$reset_color%} ‘
RPROMPT=[%~]
SPROMPT=’zsh: replace ”’%R”’ to ”’%r”’ ? [Yes/No/Abort/Edit] ‘

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください