Używam emacsa w miętowym (skonfigurowanym tak, że to xterm-256color) terminalu na cygwinie. list-colors-display
działa w porządku. i kolory są wyświetlane na listach dired itp. Teraz ustawiam kolor git branch
bieżącej gałęzi yellow reverse
. Jednak ani okno powłoki ani eshell nie wyświetla prawidłowego koloru; zamiast tego bieżąca gałąź jest wyświetlana w domyślnym kolorze. W ansi-term
oknie lub poza emacsem wewnątrz tego samego terminala wyświetla się tak, jak powinien.
Mam to w moim .emacs
:
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
Czy jest jakiś sposób na wyświetlenie tych kolorów w oknach powłoki lub eshell?
git config --global color.ui always
uruchomieniugit diff
. Czy możesz podać bardziej szczegółowe kroki?Odpowiedzi:
Eshell i
shell-mode
oba służąansi-color.el
do przekształcania kodów kolorów ansi w twarze.ansi-color.el
obsługuje następujące twarze:„negatywny obraz” jest „odwrócony” i jest odwzorowany na
error
twarz. Kiedy konfiguruję moje repozytorium takie ...... i biegnę
git branch
, widzę moje lokalne oddziały, a bieżąca gałąź jest wytłuszczona na żółto. Kiedy wskazuję żółty tekst i biegnędescribe-face
, widzę, że w rzeczywistości jest on renderowany za pomocąerror
twarzy.Możesz dostosować,
ansi-color-faces-vector
aby przypisać inną twarz niżerror
„negatywne zdjęcie” / „odwrócenie”.W
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
eshell nie trzeba używać kolorów ansi.źródło