Ottenere più di 8 colori in un emulatore di terminale all'interno di Emacs


14

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 i ansi-termcolori in Emacs 25?

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:

inserisci qui la descrizione dell'immagine


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.


A partire da Emacs 26, non riesco a vedere ansi-color-names-vectorcome una variabile che posso personalizzare. Oltre a ciò, corro multi-terme con zsh come shell. Il tuo script non produce un risultato positivo :-(
spav

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.