Qiita初投稿です。
zshのプロンプト設定がやっと自分の理想に近くなったので、
備忘録的な感じでまとめておきます。
.zshrcの設定
.zshrc
autoload -U promptinit
autoload -U colors && colors
# 直前の返り値によって色変更 #
local p_color="%(?.%{${fg[cyan]}%}.%{${fg[magenta]}%})"
# スクリーン番号を(あれば)変数に格納 #
local window_no="${WINDOW:+"[$WINDOW]"}"
PROMPT="
%{$fg[cyan]%}User:%n%{${reset_color}%}
$p_color [%~] > %{${reset_color}%}"
RPROMPT="$p_color return:[%?]%{${reset_color}%}"
# ちょいメモ #
function memo() {RPROMPT="%S$1%s $p_color return:[%?]%{${reset_color}%}";}
# Googleカラーでサジェスト #
setopt correct
SPROMPT="( ´・ω・) < %{$fg[blue]%}も%{${reset_color}%}%{$fg[red]%}し%{${reset_color}%}%{$fg[yellow]%}か%{${reset_color}%}%{$fg[green]%}し%{${reset_color}%}%{$fg[red]%}て%{${reset_color}%}: %{$fg[red]%}%r%{${reset_color}%}? [(y)es,(n)o,(a)bort,(e)dit]
-> "
説明
PROMPT
プロンプトは最初に改行を入れることで、使ってるうちにゴチャゴチャして見づらくなるのを防いでます。
RPROMPT
右プロンプトには一言メモと直前の返り値を表示
$p_color
という変数を作り、返り値が0ならシアン、それ以外ならマゼンタと
プロンプトの色を変えてます。
$ memo hoge
で右プロンプトに一言メモが書けます。
メモを消すときは
$ memo
でおK
最後に
もっとこうした方がいい等、何かありましたら
ぜひコメントお願いします!!