zshのプロンプトにgitのブランチ名を色付きで表示する

  • 25
    Like
  • 0
    Comment
More than 1 year has passed since last update.

vcs_infoを使ってプロンプトにgitのブランチ名を表示させる時に、ブランチ名の部分に色づけをしてみました。

# vcs_infoロード    
autoload -Uz vcs_info    
# PROMPT変数内で変数参照する    
setopt prompt_subst    

# vcsの表示    
zstyle ':vcs_info:*' formats '%s][* %F{green}%b%f'    
zstyle ':vcs_info:*' actionformats '%s][* %F{green}%b%f(%F{red}%a%f)'    
# プロンプト表示直前にvcs_info呼び出し    
precmd() { vcs_info }    
# プロンプト表示    
PROMPT='[${vcs_info_msg_0_}]:%~/%f '    

結果は以下

プロンプト_1_324_44.png

また、コンフリクトが起きた時などaction nameが出るときは、その部分が赤く表示されます。

プロンプト_2_324_44.png