Rozumiem, że ansi-term
obsługuje tylko 8 kolorów (dobre omówienie tego na czerwono tutaj ).
Tymczasem coraz większa liczba emulatorów terminali (np. tmux
Lub iTerm2
w OS X) obsługuje True color
(24 bity, tj. 16 milionów kolorów). Dobra lista znajduje się tutaj .
- Jeśli 8-kolorowa czapka jest specyficzna dla
ansi-term
, czy są jakieś inne pakiety do emulacji terminala, które próbują rozwiązać to ograniczenie? - Czy są jakieś plany wprowadzenia
True color
obsługi emulatora terminali w Emacsie?
I może potwierdzić:
- Czy jest jakiś sposób, aby skutecznie mieć więcej niż 8 kolorów w
ansi-term
buforach? - Czy poprawianie
ansi-color-names-vector
nadal jest zalecanym sposobem ustawianiaansi-term
kolorów w Emacsie25
?
Jak sprawdzić, czy emulator obsługuje „ True color ”:
Oto fragment powyższego linku, który sprawdziłby, czy emulator obsługuje kolory True:
awk 'BEGIN{
s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
for (colnum = 0; colnum<77; colnum++) {
r = 255-(colnum*255/76);
g = (colnum*510/76);
b = (colnum*255/76);
if (g>255) g = 510-g;
printf "\033[48;2;%d;%d;%dm", r,g,b;
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
printf "%s\033[0m", substr(s,colnum+1,1);
}
printf "\n";
}'
Jeśli jest obsługiwany, dolny wiersz wyświetlałby ładny gradient, taki jak pokazano poniżej:
Z tego, co przeczytałem, NeoVim (edytor VIM) dodał obsługę tego w 2015 roku, a do błędów Emacsa zgłoszono prośbę o dodanie.
ansi-color-names-vector
jako zmiennej, którą mogę dostosować. Poza tymmulti-term
działam z Zsh jako powłoką. Twój skrypt nie generuje pozytywnych wyników :-(