Zsh 提示符仅正确呈现一次

Zsh 提示符仅正确呈现一次

我最近更改了 Zsh 提示符以匹配我喜欢的 oh-my-zsh 主题(出于兼容性原因,我放弃了 oh-my-zsh)。

提示是:

PROMPT='%(?,%{$fg[green]%},%{$fg[red]%}) %% '
RPS1='%{$fg[blue]%}%~%{$reset_color%} '

当我对文件进行此更改时,我打开了多个 tmux 窗格~/.zshrc。当我退出 vim 并输入source ~/.zshrczsh 时,提示正确呈现。当我尝试切换窗格并输入时,source ~/.zshrc它呈现不正确,并且在创建的所有后续窗格和窗口上呈现不正确。

在照片中,我获取 ~/.zshrc 的第一个窗格位于左侧。

第一个窗格 |第二个窗格

答案1

显然,两个窗格中的 zsh 配置不同。确保prompt_subst选项已设置。您似乎在左侧窗格中设置了它,但它不存在于您的配置中。将以下行添加到您的.zshrc

shopt -s prompt_subst

请注意,如果您使用 oh-my-zsh 等框架,更改此选项的值可能会扰乱其提示设置框架。我不使用 zsh 配置框架,所以你只能自己使用。

相关内容