사용중인데 zsh
설치 가 prompt fade
안되어있습니다 .oh-my-zsh
내 터미널 배경은 검정색이 아닌 진한 파란색이지만 프롬프트는 검정색 배경에 인쇄됩니다.
프롬프트가 터미널의 나머지 부분과 동일한 배경색을 사용하도록 이를 어떻게 무시할 수 있습니까?
FWIW, 올바른 배경색을 RPS1
설정 하고 사용했습니다..zshrc
RPS1='[%F{yellow}%?%f] '
답변1
zsh
배경색이나 전경색은 요청하지 않는 한 변경되지 않습니다.
따라서 프롬프트 배경이 기본 색상이 아닌 경우 이는 사용자 또는 활성화한 일부 프롬프트 테마 또는 타사 사용자 정의 확장이 해당 배경을 기본 색상으로 구성했기 때문입니다.
%K{colour}
프롬프트 확장에서 배경색은 및 %k
( 와 동일 )로 변경되지만 %K{default}
대부분의 터미널에서 $'%{\e[40;37;1m%}foo%{\e[m%}'
검정색 바탕에 흰색 과 같이 하드 코딩된 이스케이프 시퀀스를 삽입하여 변경할 수도 있습니다.foo
그리고 %S
단지눈에 띄다모드(중지 %s
), 대부분의 터미널에서 이 모드는 역방향 비디오(배경색과 전경색 교체)를 사용하여 수행됩니다.
따라서 기본 배경색을 유지하려면 변수 정의 $PS1
에서 해당 배경색을 제거해야 합니다.$PROMPT
또한 promptsubst
이 옵션이 활성화되어 있고 또는 같은 항목을 $PS1
포함 하면 확장하라는 메시지가 표시될 때 확장되므로 거기에 있는 색상 변경 순서에도 주의해야 합니다.$(some command)
${some_variable}
fade
프롬프트 테마를 사용하고 있음을 나타냅니다 . $PS1
기본적으로 이 테마의 변수는 다음과 같습니다.
%F{green}%B%K{green}█▓▒░%F{white}%K{green}%B%n@%m%b%F{green}%K{black}█▓▒░%F{white}%K{black}%B %D{%a %b %d} %D{%I:%M:%S%P}
%}%F{green}%K{black}%B%~/%b%k%f
함수나 실행의 정의를 %K{black}
보면 색상 이 사용자 정의할 수 있는 범위의 일부가 아니라는 것을 알 수 있습니다. 따라서 검은 배경이 마음에 들지 않으면 다음을 수행할 수 있습니다.prompt_fade_setup
prompt -h fade
- 다른 테마로 전환
- 이 테마를 기반으로 자신만의 프롬프트 테마를 만듭니다(
info zsh "prompt themes"
자세한 내용은 참고자료 참조). - 귀하의 계정에 추가한
PS1=${PS1//\%K{black}/%k}
후prompt fade
~/.zshrc
- 를 사용하지 말고
prompt fade
해당PS1
변수 정의를 변수~/.zshrc
정의에 복사하고%K{black}
로 바꾸십시오%k
.