先日のzshrcの修正
Live with Linux
- TOP
- Old Archives
- 先日のzshrcの修正
先日紹介した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] '