Zsh에서 256 색 프롬프트


14

프롬프트가 256 색으로 표시되도록 설정하려면 어떻게해야합니까? bash 프롬프트와 동등한 것을 찾고 있습니다.

  local DEFAULT="\[\033[0;39m\]"
  local ROOK="\[\033[38;5;24m\]"
  PS1="${ROOK}\$${DEFAULT} "

1
쳐다 보았지만 옹호하지 않은 사람에게는 부끄러운 일입니다!
phunehehe

export PS1='%{[38;5;24m%};%{[0m%} '정확히 내가 원하는 것입니다.
Sardathrion-남용에 대한

답변:


9

먼저, 터미널이 256 색을 지원하는지 확인하십시오. 둘째, PS1올바른 코드 가 포함 된 변수를 사용 하십시오. 예를 들면 다음과 같습니다.

export PS1='%{^[[01;38;05;214;48;05;123m%}%m%{^[[0m%} '

이렇게하면 호스트 이름이 굵게 표시되고 전경색은 214이고 배경색은 123입니다.

+ 와 + ^[를 입력 하면 "입력"됩니다 . 전체 속성 목록은 이 우수한 기사 " 그 256 색상 "을 참조하십시오 .CtrlvCtrl[


예, urxvt 256 컬러 활성화 터미널을 사용하고 있습니다.
Sardathrion-남용에 대한

터미널이 256 색을 지원하는지 어떻게 확인할 수 있습니까? 예를 들어 gnome-terminal (Ubuntu)은 256 색을 지원합니까?
Amelio Vazquez-Reina

이 스크립트를 사용하십시오 (전체 기사 frexx.de/xterm-256-notes ). gnome-terminal256 색을 지원합니다.
phunehehe

1
링크의 호스트가 손상되었습니다 (502 불량 게이트웨이).
Pikrass

1
@Pikrass 404을 찾을 수 없습니다.
Totor

13
export PS1='%F{214}%K{123}%m%k%f'

보낸 사람 man zshmisc:

   %F (%f)
          Start (stop) using a different foreground colour, if supported by the terminal.  The colour may be specified two ways: either as a numeric argument, as normal, or by a sequence in braces following the %F, for example %F{red}.  In the latter case the values allowed are as described for the fg zle_highlight attribute; see  Char
          acter Highlighting in zshzle(1).  This means that numeric colours are allowed in the second format also.

   %K (%k)
          Start (stop) using a different bacKground colour.  The syntax is identical to that for %F and %f.

또한 그것을 시도하려면 다음과 같이 사용할 수 있습니다.

$> print -P '%F{214}%K{123}%m%k%f'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.