oh-my-zsh 테마의 색상이 올바르게 렌더링되지 않습니다.

oh-my-zsh 테마의 색상이 올바르게 렌더링되지 않습니다.

oh-my-zsh 테마에 색상을 사용하려고 합니다. 내 집 컴퓨터(ubuntu)에서는 잘 작동하지만 직장 컴퓨터(Scientific Linux, 즉 Enterprise Linux)에서는 프롬프트 색상이 실제로 표시됩니다. 예를 들어, Blink 테마를 사용하는 프롬프트는 다음과 같습니다(이것은 코드가 아니며, 제가 대체한 사용자 이름과 컴퓨터 이름을 제외하고는 제 프롬프트입니다).

{black}{green}USRENAME{blue}@{cyan}COMPUTERNAME{green}
{yellow}{black}~{green} {black}{blue}±{black} %                       
!{cyan}1128

깜박이는 프롬프트가 어떻게 나타나는지 보려면 다음을 참조하세요. oh-my-zsh 테마 페이지.

답변1

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%}'

관련 정보