我刚刚安装了(很棒的)oh-my-zsh软件包以自定义我的zsh提示符,但是我遇到了这个奇怪的问题:
如果我在命令名称上使用自动补全功能(例如sou<TAB>
-> source
),那么一切都会按预期进行。但是,如果我对文件名使用自动补全功能(例如source .zshr<TAB>
-> source .zshrc
),则整个命令的字体都会变为灰色粗体。我在PROMPT
和颜色中都使用了粗体,但没有使用灰色,所以我不知道颜色的来源。也只有在完成文件名时才会发生的事实使我感到困惑。
这是我的PROMPT
和RPROMPT
(灵感来自Steve Losh的prose
主题)。
PROMPT='
%B%F{208}%n%{$reset_color%}%{$fg_bold[white]%}@%B%F{039}$(box_name)
%{$reset_color%}:%{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}
$(hg_prompt_info)$(git_prompt_info)
$(virtualenv_info)$(prompt_char) '
RPROMPT='${return_status}%{$reset_color%}[%t]'
提前致谢。
最佳答案
实际上,解决方案非常简单:%B和%F引入的颜色和重量更改必须由%b和%f进行封闭,而不是由$ reset_color进行封闭……仅此而已。
关于fonts - (oh-my-)zsh文件名完成更改当前字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6496806/