La mia comprensione è che ansi-termsupporta solo 8 colori (una buona discussione di questo in reddit qui ).
Nel frattempo, un numero crescente di emulatori di terminale (ad esempio tmuxo iTerm2in OS X) supporta True color(24 bit, ovvero 16 milioni di colori). Una buona lista può essere trovata qui .
- Se il limite di 8 colori è specifico per
ansi-term, ci sono altri pacchetti per l'emulazione terminale che stanno cercando di affrontare questa limitazione? - Ci sono piani per fornire
True colorsupporto a un emulatore di terminale in Emacs?
E forse per confermare:
- Esiste un modo per avere effettivamente più di 8 colori nei
ansi-termbuffer? - La modifica è
ansi-color-names-vectorancora il modo consigliato di impostare iansi-termcolori in Emacs25?
Come verificare se un emulatore supporta " True color ":
Ecco uno snippet dal link sopra che verificherebbe se l'emulatore supporta True colours:
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";
}'
Se è supportato, nella riga inferiore verrà visualizzato un gradiente gradevole come quello mostrato di seguito:
Da quello che ho letto, NeoVim (un editor VIM) ha aggiunto il supporto per esso nel 2015, e c'è stata una richiesta fatta ai bug di Emacs per aggiungerlo.

ansi-color-names-vectorcome una variabile che posso personalizzare. Oltre a ciò, corromulti-terme con zsh come shell. Il tuo script non produce un risultato positivo :-(