2017-01-20 16 views
5

ZSH 프롬프트를 커스터마이징하는 중이지만 Konsole에 굵은 텍스트 또는 특정 RGB 색상을 사용하도록 알리기 위해 이스케이프 시퀀스를 사용할 수없는 것 같습니다.트루 컬러 또는 굵은 글꼴로 ZSH 프롬프트에서 이스케이프 시퀀스를 사용하는 방법은 무엇입니까?

내가 알기로, %F{000} %f처럼 ZSH에 내장 된 포맷 옵션을 알고 있지만,이 옵션은 기본값 (빨강, 파랑 등) 및 256 색 팔레트에만 액세스 할 수 있습니다. %B %b, 굵게에 대한 내장 옵션이 작동하지만, 단 하나의 색상으로 제한된 것 같습니다.

내가 할 수 있기를 원하는 것은 모든 RGB 색상을 사용하거나 프롬프트를 굵게 만드는 프롬프트의 특정 부분을 색칠하는 것입니다. 내가 찾을 수있는 바로는,이 같은 작업을해야합니다 :

\e[38;0;255;0;255mHOSTNAME >:\e[0m 

:

HOSTNAME >:     

하지만 내가 할 것은 이것이다 :

PS1="%{\e[38;0;255;0;255m%}%M >:%{\e[0m%}" 

나에게 이런 분홍색 프롬프트를 제공해야 \033\x1b 같은 다른 이스케이프 시퀀스를 시도했지만 아무 것도 작동하지 않는 것 같습니다.

그래서 어떻게 ZSH 프롬프트에서 이스케이프 시퀀스를 올바르게 사용합니까?



구체적인 :

오픈 수세 다니지 KDE

Konsole을 --version 16.12.0 (키보드 : XFree 4)

zsh을 --version 5.3

+0

FWIW, "모든 RGB 색상"은 문제가 아닙니다. 팔레트는 변경 될 수 있지만 아직 고정 된 세트입니다. http://www.xfree86.org/current/ctlseqs.html – user2864740

+0

이것은 8800 만 또는 256 색상 팔레트입니다. 표준 [트루 컬러] (https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29)는 24 비트 또는 1600 만 컬러에 불과하며 값의 조합으로 표현됩니다. 터미널 (어떤 VT 제품군이라도)은 고정 된 색상 표 테이블로 인덱싱해야합니다. – user2864740

+0

나는 여전히 공정한 질문이라고 생각합니다. 팔레트 자체를 업데이트하지 않고 RGB로 색상에 액세스하는 것은 아마도 가능하지 않습니다. – user2864740

답변

1

zsh가 올바르게 평가할 수 있도록 문자열을 변경해야합니다.

변경해보십시오 :

PS1="%{\e[38;0;255;0;255m%}%M >:%{\e[0m%}"

사람 :

PS1=$'%{\e[38;0;255;0;255m%}%M >:%{\e[0m%}'

을 주목 앞에 추가 $

가에 더 많은 http://zsh.sourceforge.net/Guide/zshguide05.html를 참조와 함께 "'에 따옴표의 변화 대체에.