PROMPT の色を rotate してハッピーハッキングライフ
を見て,かっけーと思って設定した.
実際には precmd の中に PROMPT の記述も含めないとできなかったんだけど,これであってるのかなあ.
一応,root のときは真っ赤で,それ以外のときはローテート.(あと ssh で入ってるとき以外はhost表示しないとか.このへんは漢のやつで.)
case ${UID} in 0) PROMPT="%B%{^[[31m%}%n@%m#%{^[[m%}%b " PROMPT2="%B%{^[[31m%}%_#%{^[[m%}%b " SPROMPT="%B%{^[[31m%}%r is correct? [n,y,a,e]:%^[[m%}%b " ;; *) PROMPT_COLOR=32 precmd() { PROMPT_COLOR="$[32 + ($PROMPT_COLOR - 31) % 5]" PROMPT="%{^[[${PROMPT_COLOR}m%}%n%%%{^[[m%} " PROMPT2="%{^[[${PROMPT_COLOR}m%}%_%%%{^[[m%} " [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PROMPT="%{^[[37m%}${HOST%%.*} ${PROMPT}" _update_rprompt } SPROMPT="%{^[[31m%}%r is correct? [n,y,a,e]:%{^[[m%} " ;; esac
あ,当然 ^[ は制御文字です. (vim なら C-v [ )
あと _update_rprompt は Git のブランチ名をRPROMPTに表示させるための関数.
動画:
行が変わるごとに色がかわってかわいい.