我最近更改了 Zsh 提示符以匹配我喜欢的 oh-my-zsh 主题(出于兼容性原因,我放弃了 oh-my-zsh)。
提示是:
PROMPT='%(?,%{$fg[green]%},%{$fg[red]%}) %% '
RPS1='%{$fg[blue]%}%~%{$reset_color%} '
当我对文件进行此更改时,我打开了多个 tmux 窗格~/.zshrc
。当我退出 vim 并输入source ~/.zshrc
zsh 时,提示正确呈现。当我尝试切换窗格并输入时,source ~/.zshrc
它呈现不正确,并且在创建的所有后续窗格和窗口上呈现不正确。
在照片中,我获取 ~/.zshrc 的第一个窗格位于左侧。
答案1
显然,两个窗格中的 zsh 配置不同。确保prompt_subst
选项已设置。您似乎在左侧窗格中设置了它,但它不存在于您的配置中。将以下行添加到您的.zshrc
:
shopt -s prompt_subst
请注意,如果您使用 oh-my-zsh 等框架,更改此选项的值可能会扰乱其提示设置框架。我不使用 zsh 配置框架,所以你只能自己使用。