Rozumiem, że ansi-termobsługuje tylko 8 kolorów (dobre omówienie tego na czerwono tutaj ).
Tymczasem coraz większa liczba emulatorów terminali (np. tmuxLub iTerm2w 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 colorobsł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-termbuforach? - Czy poprawianie
ansi-color-names-vectornadal jest zalecanym sposobem ustawianiaansi-termkoloró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-vectorjako zmiennej, którą mogę dostosować. Poza tymmulti-termdziałam z Zsh jako powłoką. Twój skrypt nie generuje pozytywnych wyników :-(