Zsh
在 oh-my-zsh 主題中未正確呈現顏色
我正在嘗試在 oh-my-zsh 主題中使用顏色。它在我的家用電腦(ubuntu)上執行良好,但在工作電腦(Scientific Linux 即 Enterprise linux)中,提示顏色實際上是拼寫出來的。例如,我使用眨眼主題的提示看起來像這樣(注意這不是程式碼,這是我的提示,除了我的使用者名和電腦名已被替換)。
{black}{green}USRENAME{blue}@{cyan}COMPUTERNAME{green} {yellow}{black}~{green} {black}{blue}±{black} % !{cyan}1128
要查看閃爍提示的外觀,您可以查看 oh-my-zsh 主題頁面。
zsh
您使用的版本很可能來自%F
添加顏色轉義序列之前的版本。這意味著,除了沒有正確地為提示著色之外,它還會留下這個序列的參數。要解決這個問題,你應該用這個替換目前的主題文件:function _prompt_char() { if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then echo "±%{%b%}" else echo ' ' fi } ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{%b%B%}]" ZSH_THEME_GIT_PROMPT_DIRTY=" *%{%b%}" ZSH_THEME_GIT_PROMPT_CLEAN="" PROMPT='%{%b%} %{%B%}%n%{%B%}@%{%B%}%m%{%B%} %{%b%}%~%{%B%}$(git_prompt_info)%E%{%b%} %{%}$(_prompt_char)%{%} %#%{%b%} ' RPROMPT='!%{%B%}%!%{%b%}'