zshカスタマイズの一環として、プロンプトに現在のブランチ名と状態を表示するようにする。
これで毎回git branch
やgit status
を入力する必要がなくなる。
ゴール
手順
基本的なやり方はここに記載してある。
https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
①git-prompt.shをダウンロード
普通にダウンロードしても良いが、curlで一発でダウンロードする場合はこちら。
$ curl -sL https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh -o ~/.git-prompt.sh
最終的に~/.git-prompt.sh
に配置できればOK。
②.zshrcで読み込ませる
.zshrc
に以下を記載して、ダウンロードしたファイルを読み込ませる。
source ~/.git-prompt.sh
③プロンプトをカスタマイズする
初期状態の設定として、~/.zshrc
に以下のように設定しておけば良い。
setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '
筆者はこれに加えて以下のようにカスタマイズしている。
# ファイル変更の状態を可視化
GIT_PS1_SHOWDIRTYSTATE=true
# ステージングされていない新規ファイルを可視化
GIT_PS1_SHOWUNTRACKEDFILES=true
# stashの状態を可視化
GIT_PS1_SHOWSTASHSTATE=true
# HEADとの差分を可視化する
GIT_PS1_SHOWUPSTREAM=auto
setopt PROMPT_SUBST ; PS1='%F{#90C9C1}%~%f %F{#E9C071}$(__git_ps1 "(%s)")%f%# '
■ポイント
%F{カラーコード}色をつけたい文字列%f
:任意の文字列に色をつける%~
:カレントディレクトリを表示
まとめ
- スクリプトのダウンロード
.zshrc
でダウンロードしたスクリプトを読み込み- 好きなようにプロンプトをカスタマイズする