自分の Mac で使っている ~/.zshrc の設定をベースに、
Terminal の表示を整える方法。テーマや外部ツールなしで、
「ディレクトリ・Gitブランチ・日時・プロンプト文字」を出す。
この設定で変わるところ
- コマンド入力の前に1行空けて見やすくする
- 左側にカレントディレクトリを表示
- 右側に Git ブランチ名を表示(Git管理下のみ)
- 入力プロンプトを好きな文字列に変更
- 右側に日時を表示
手順
まずはバックアップしてから ~/.zshrc を編集する。
# 1) まずバックアップ
cp ~/.zshrc ~/.zshrc.bak
# 2) 編集
nano ~/.zshrc
# (または) code ~/.zshrc
# 3) 反映
source ~/.zshrc 設定例(そのまま貼り付け可)
autoload -Uz vcs_info
zstyle ':vcs_info:*' formats '[%b]'
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () {
# 1行あける
print
# 左: カレントディレクトリ
local left=' %{e[38;5;2m%}(%~)%{e[m%}'
# 右: Gitブランチ
vcs_info
local right="%{e[38;5;32m%}${vcs_info_msg_0_}%{e[m%}"
# 左右の間をスペースで埋める
local invisible='%([BSUbfksu]|([FK]|){*})'
local leftwidth=${#${(S%%)left//$~invisible/}}
local rightwidth=${#${(S%%)right//$~invisible/}}
local padwidth=$(($COLUMNS - ($leftwidth + $rightwidth) % $COLUMNS))
print -P $left${(r:$padwidth:: :)}$right
}
# 入力プロンプト
PROMPT="(⁎'~') < "
# 右側に日時を表示
RPROMPT=$'%{e[38;5;251m%}%D{%b/%d} %*%{e[m%}'
# 1秒ごとにプロンプト再描画(RPROMPT更新)
TMOUT=1
TRAPALRM() {
zle reset-prompt
} どこをいじると見た目が変わるか
leftの中身: 左側の表示(今はディレクトリ)rightの中身: 右側の表示(今はブランチ)PROMPT: 入力行の先頭文字列RPROMPT: 右側の表示(今は日時)
補足
- Git ブランチ表示は
autoload -Uz vcs_infoとvcs_infoがポイント。 - 色は ANSI エスケープ(
\\e[38;5;...m)で指定している。 - もし表示が崩れたら、
~/.zshrc.bakを戻せば復旧できる。