Em zsh, a prompt_subst
opção está desativada por padrão. Se você quiser usar substituições de variáveis em seu prompt, ative-o.
setopt prompt_subst
PS1='$foo'
Por $TMUX
, você não precisa disso. O valor não muda durante a sessão, então você pode inicializar PS1
quando o shell for iniciado.
setopt prompt_subst
if (($+TMUX)); then
PS1='[tmux:${TMUX_PANE//\%/%%}] %# '
else
PS1='[not tmux] %# '
fi
Observe que a expansão de prompt ocorre após a substituição de variáveis. É por isso que o sinais de porcentagem no valor da variável precisam ser protegidos.