2017-01-20 51 views
5

Jestem w trakcie dostosowywania mojego podpowiedzi ZSH, ale wydaje mi się, że nie mogę użyć sekwencji ucieczki, aby powiedzieć Konsole, aby używał pogrubionego tekstu lub określonego koloru RGB.Jak używać sekwencji escape w pytaniu ZSH dla truecolor lub pogrubienia?

Wiem o wbudowanych opcjach formatowania w ZSH, takich jak %F{000} %f, ale o ile mi wiadomo, te opcje pozwalają tylko na dostęp do ustawień domyślnych (czerwony, niebieski, itp.) I 256 paletę kolorów. Podczas gdy %B %b, wbudowana opcja pogrubienia działa, wydaje się ograniczona do jednego koloru.

Co mogę zrobić, to pokolorować określoną sekcję podpowiedzi, używając wszystkich kolorów RGB i/lub pogrubić. Z tego co udało mi się znaleźć, coś jak to powinno działać:

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

To powinno dać mi różową wiersz tak:

HOSTNAME >:     

Ale co mam to:

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

Próbowałem różnych sekwencji ucieczki, takich jak \033\x1b, ale nic nie działa.

A więc, w jaki sposób prawidłowo używać sekwencji escape w pytaniach ZSH?



Dodatkowo:

OpenSUSE Tumbleweed KDE

KONSOLE version 16.12.0 (klawiatura: XFree 4)

ZSH version 5,3

+0

FWIW, "wszystkie kolory RGB" nie są rzeczą; podczas gdy palete może być w stanie zmienić, to wciąż jest ustalony zestaw: http://www.xfree86.org/current/ctlseqs.html – user2864740

+0

To jest 88-milionowa lub 256 paleta kolorów. Standardowy [True Color] (https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29) to tylko 24 bity lub ~ 16 milionów kolorów i wyrażony jako kompozycja wartości. Terminale (w każdym razie z rodziny VT) wymagają indeksowania do ustalonej tabeli palet kolorów. – user2864740

+0

Nadal uważam, że to uczciwe pytanie - należy pamiętać, że uzyskanie dostępu do koloru przez RGB (bez aktualizacji samej palety) prawdopodobnie nie jest możliwe. – user2864740

Odpowiedz

1

Musisz zmienić ciągi znaków, aby zsh poprawnie je oszacował.

Spróbuj zmienić:

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

Do:

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

zauważą zmiany od " do ' cytatów wraz z poprzedzany $

http://zsh.sourceforge.net/Guide/zshguide05.html Zobacz więcej w na substytucjach.