Я использую emacs внутри терминала mintty (настроенного, чтобы сказать, что это xterm-256color) на Cygwin. list-colors-display
работает отлично. и цвета отображаются в списках Dired и т. д. Теперь я установил цвет для git branch
текущей ветви yellow reverse
. Однако ни оболочки, ни окна eshell не отображают правильный цвет; вместо этого текущая ветвь отображается цветом по умолчанию. В ansi-term
окне или вне emacs, внутри того же терминала, он отображается так, как должен.
У меня есть это в моем .emacs
:
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
Есть ли способ заставить эти цвета отображаться внутри окон оболочки или eshell?
git config --global color.ui always
запускgit diff
. Не могли бы вы предоставить более подробные шаги?Ответы:
Eshell и
shell-mode
оба используютansi-color.el
для преобразования цветовых кодов ANSI в лица.ansi-color.el
поддерживает следующие лица:«Негативное изображение» является «обратным», и оно отображается на
error
лице. Когда я настраиваю свой репозиторий такой ...... и запускаю,
git branch
я вижу свои локальные ветви, а текущая ветвь отображается жирным желтым цветом. Когда я ставлю точку на желтый текст и запускаю,describe-face
я вижу, что он на самом деле отображается сerror
лицом.Вы можете настроить
ansi-color-faces-vector
назначение другого лица, отличного отerror
«негативное изображение» / «обратное».Вам не нужно
(add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)
использовать цвета ANSI в eshell.источник