La mia comprensione è che ansi-term
supporta solo 8 colori (una buona discussione di questo in reddit qui ).
Nel frattempo, un numero crescente di emulatori di terminale (ad esempio tmux
o iTerm2
in 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 color
supporto a un emulatore di terminale in Emacs?
E forse per confermare:
- Esiste un modo per avere effettivamente più di 8 colori nei
ansi-term
buffer? - La modifica è
ansi-color-names-vector
ancora il modo consigliato di impostare iansi-term
colori 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-vector
come una variabile che posso personalizzare. Oltre a ciò, corromulti-term
e con zsh come shell. Il tuo script non produce un risultato positivo :-(