余白の書きなぐり

aueweのブログ

zshのプロンプトを256色にする方法

zshから256色を使う詳細については、以下のサイトの情熱がものすごい。 http://misc.flogisoft.com/bash/tip_colors_and_formatting

しかし肝心のプロンプトの設定方法が載ってなかったので、ここにメモしておこう。 ~/.zshrcで以下のように記述する。

# 例1
# 注意! ^[ は特殊文字。Vim上で Ctrl+Vした後にESCを押せば入力できる。
# 赤(001番)文字+デフォルト背景
PROMPT="%{^[[38;5;001m%}RED%{^[[0m%}"
# 例2
# デフォルト文字色+緑(082番)背景
PROMPT="%{^[[30;48;5;082m%}Green Background%{^[[0m%}"
# 例3
# 赤(001番)文字+緑(082番)背景
PROMPT="%{^[[30;48;5;082m%}%{^[[38;5;001m%}Red on Green Background%{^[[0m%}"
# 例4
# 以下のように文字色を定義しておくと便利
COLOR_FG="%{^[[38;5;001m%}"      # 表を赤に
COLOR_BG="%{^[[30;48;5;082m%}"   # 背景を緑に
COLOR_END="%{^[[0m%}"            # 色を元に戻す
PROMPT="${COLOR_BG}${COLOR_FG}Red on Green Backgroun${COLOR_END}"

ちなみに zshのプロンプトカラーを設定を変更してみた - HAM MEDIA MEMO に書いてある形式

PROMPT=$'%{\e[38;5;46m%}%m%(!.#.$)%{\e[m%} '

ではうまくいかなかった。