Ich verwende Emacs in einem Mintty-Terminal (konfiguriert, um zu sagen, dass es xterm-256color ist) auf Cygwin. list-colors-display
funktioniert gut. und Farben werden in dired Auflistungen usw. angezeigt. Jetzt stelle ich die Farbe für den git branch
aktuellen Zweig ein yellow reverse
. Weder Shell- noch Eshell-Fenster zeigen jedoch die richtige Farbe an. Stattdessen wird der aktuelle Zweig in der Standardfarbe angezeigt. In einem ansi-term
Fenster oder außerhalb von Emacs innerhalb desselben Terminals wird es so angezeigt, wie es sollte.
Ich habe dies in meinem .emacs
:
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
Gibt es eine Möglichkeit, diese Farben in den Shell- oder Eshell-Fenstern anzuzeigen?
git config --global color.ui always
Laufen eingestellt habegit diff
. Könnten Sie detailliertere Schritte bereitstellen?Antworten:
Eshell und
shell-mode
beide verwendenansi-color.el
, um Ansi-Farbcodes in Gesichter umzuwandeln.ansi-color.el
unterstützt die folgenden Gesichter:"Negatives Bild" ist "umgekehrt" und wird dem
error
Gesicht zugeordnet. Wenn ich mein Repository wie ...... und laufe
git branch
ich sehe meine lokalen Zweige, und der aktuelle Zweig ist fett gelb dargestellt. Wenn ich auf den gelben Text zeige und laufe,describe-face
sehe ich, dass er tatsächlich mit demerror
Gesicht gerendert wird .Sie können anpassen
ansi-color-faces-vector
, um ein anderes Gesicht alserror
"Negativbild" / "Umkehren" zuzuweisen .Sie müssen keine
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
Ansi-Farben in Eshell verwenden.quelle