未来の自分のために、設定方法といくつかサンプルを載せておこうと思います
設定方法
git-prompt.sh のダウンロード
curl -o ~/.git-prompt.sh \
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
git-prompt.sh
は、Gitのステータスをプロンプト表示できるツール(Git公式のツール)
ユーザのホームディレクトリにダウンロードします
.bashrc の設定
sudo vi ~/.bashrc
.bashrc
# 以下を追加
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
fi
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUPSTREAM=auto
PS1='\e[32m\u@\h \e[1;34m\w\e[1;31m$(__git_ps1 " (%s)") \e[0m\$ '
source ~/.bashrc
PS1=...
のサンプル
ブランチ名の後で改行
PS1='\e[32m\u@\h \e[1;34m\w\e[1;31m$(__git_ps1 " (%s)")\e[0m\n\$ '
シェルの名前を表示
PS1='\e[32m\s \e[1;34m\w\e[1;31m$(__git_ps1 " (%s)")\e[0m\n\$ '
日時を表示
PS1='\e[32m\u@h \e[33m\d \@ \e[1;34m\w\e[1;31m$(__git_ps1 " (%s)")\e[0m \$ '
解説
.bashrc
の内容は一見わかりにくいですが、分割すると以下のようになります
「特殊文字」と「文字装飾」を組み合わせてカスタマイズしています
特殊文字
PS1変数には \u
や \h
など、特殊文字が用意されており、OS情報などを表示できます
特殊文字 | 詳細 |
---|---|
\u |
ユーザー名 |
\h |
ホスト名 |
\w |
ホームディレクトリ基準のカレントディレクトリ |
\$ |
$ (rootユーザーでは# ) |
詳しい内容は、以下が参考になります
文字装飾
\e[...m
は、以降の文字装飾を変更しています
...
の値によって装飾されます
また、\e[1;31m
のように;で区切られたものは
\e[1m
(ボールド) と \e[31m
(赤文字) を組み合わせたものになります
文字装飾 | 詳細 |
---|---|
\e[32m |
緑文字 |
\e[1;34m |
青文字とボールド |
\e[1;31m |
赤文字とボールド |
\e[0m |
デフォルトにリセット |
詳しい設定内容は、以下の「ECMA-48 グラフィクスレンディション(Graphics Rendition)の設定」が参考になります
GIT_PS1_...
について
.git-prompt.sh
のオプションです
__git_ps1
で表示される内容をカスタマイズできます
環境変数 | 詳細 | 表示 |
---|---|---|
GIT_PS1_SHOWDIRTYSTATE |
unstagedな変更がある時に * を表示stagedな変更がある時に + を表示 |
unstaged: (main *) staged: (main +)
|
GIT_PS1_SHOWUNTRACKEDFILES |
untracked filesがある時に % を表示 |
(main %) |
GIT_PS1_SHOWSTASHSTATE |
stashedがある時に $ を表示 |
(main $) |
GIT_PS1_SHOWUPSTREAM |
upstream より遅れている時 < を表示upstream より進んでいる時 > を表示upstream から分岐している時 <> を表示upstream と一致している時 = を表示 |
遅れている: (main <) 進んでいる: (main >) 分岐している: (main <>) 一致している: (main =)
|