tmuxセッションにあるかどうかによって、zshプロンプトの色が変わりたいと思います。 Bashでは$ TMUXの値を調べることでこれを行うことができますが、zshはそれに対応する方法を見つけることができません。 zshでこれは可能ですか?
ベストアンサー1
zshではprompt_subst
オプションデフォルトではオフになっています。プロンプトで変数置換を有効にするには、これをオンにします。
setopt prompt_subst
PS1='$foo'
しかし$TMUX
、これは必要ありません。この値はセッション中に変更されないため、PS1
シェルの起動時に初期化できます。
setopt prompt_subst
if (($+TMUX)); then
PS1='[tmux:${TMUX_PANE//\%/%%}] %# '
else
PS1='[not tmux] %# '
fi
気づく急速な拡張変数置換後に発生するため、変数値のパーセント記号を保護する必要があります。