Mehr als 8 Farben in einem Terminal-Emulator in Emacs erhalten

14

Mein Verständnis ist , dass ansi-termnur 8 Farben unterstützt (eine gute Diskussion dieses in reddit hier ).

Inzwischen unterstützen immer mehr Terminalemulatoren (z. B. tmuxoder iTerm2in OS X) True color(24 Bit, dh 16 Millionen Farben). Eine gute Liste finden Sie hier .

  • Gibt ansi-termes andere Pakete für die Terminalemulation, die versuchen, diese Einschränkung zu beheben, wenn die 8-Farben-Kappe spezifisch für ist?
  • Gibt es Pläne, True coloreinen Terminalemulator in Emacs zu unterstützen?

Und vielleicht zur Bestätigung:

  • Gibt es eine Möglichkeit, effektiv mehr als 8 Farben in ansi-termPuffern zu haben?
  • Ist das Optimieren ansi-color-names-vectorimmer noch die empfohlene Methode zum Festlegen von ansi-termFarben in Emacs 25?

So testen Sie, ob ein Emulator " True Color " unterstützt:

Hier ist ein Ausschnitt aus dem obigen Link, der testen würde, ob der Emulator True Colors unterstützt:

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";
}'

Wenn es unterstützt wird, würde die untere Zeile einen schönen Farbverlauf wie den folgenden anzeigen:

Bildbeschreibung hier eingeben


Von dem, was ich lese, NeoVim (a VIM Editor) Unterstützung für sie im Jahr 2015, und es gab eine Anfrage an Emacs Fehler gemacht , um es hinzuzufügen.

Amelio Vazquez-Reina
quelle
Ab Emacs 26 kann ich keine ansi-color-names-vectorVariable sehen, die ich anpassen kann. Ansonsten laufe ich multi-termund mit zsh als Shell. Ihr Skript erzeugt keine positive Ausgabe :-(
spav

Antworten: