Управление цветом фона буфера и текста в ansi-term в Emacs 24.x

Я использую Emacs 24.1. В моем стартовом файле .emacs есть следующая строка:

(load-theme 'tango-dark t)

Однако, когда я запускаю терминал ansi-term, цвета фона не работают:

введите описание изображения здесь

Интересно то, что для каталогов цвет фона кажется правильным, в то время как для некоторых файлов цвет фона черный (даже если цвет фона буфера темно-серый).

Я бы хотел либо:

1: Цвет фона буфера должен совпадать с цветом фона текста (в данном случае черный)

or

2: Цвет фона текста должен совпадать с цветом фона буфера (в данном случае темно-серым), который в данном случае настроен как tango-dark.

Как я могу это сделать? (ответ для обеих возможностей был бы идеальным)


person Amelio Vazquez-Reina    schedule 21.09.2012    source источник
comment
Я попытался воспроизвести проблему в emacs -Q, но цвета не совпадали, а цвета, используемые терминалом, не совпадали с цветовыми.   -  person Nicolas Dudebout    schedule 21.09.2012
comment
Спасибо @wvxvw, ваш комментарий указал мне правильное направление. У меня был (setq term-default-bg-color "#211E1E") крючок для ANSI-термина. Из вашего комментария я понимаю, что, начиная с Emacs 24, за управление цветом буфера отвечает color-theme, который я загружаю (я думаю, что это было не так в предыдущих версиях Emacs), и что теперь я могу изменить этот цвет, если захочу. с customize-theme и customize-face. Если вы предоставите свой комментарий в качестве ответа, я приму его и поясню свой OP.   -  person Amelio Vazquez-Reina    schedule 21.09.2012


Ответы (1)


Начиная с Emacs 24, механизм создания тем является встроенным, и он немного отличается от библиотеки color-theme, использовавшейся ранее для той же цели, но очень похож.

Я думаю, что произошло то, что каким-то образом тема была инициализирована до того, как была применена настройка цвета терминала, или, может быть, старая тема использовалась для установки этого цвета, а новая - нет.

По сути, тема - это набор лиц, которые, по мнению автора темы, вы могли бы использовать (так что вы можете поместить в тему лица, которые не встроены в Emacs). Тем не менее, тема может устанавливать и другие вещи, поэтому она могла установить цвет фона терминала с помощью custom-theme-set-variables или использовать это раньше, но не больше.

В любом случае вы всегда должны иметь возможность настроить это, либо настроив само лицо (которое переопределит настройки темы), либо настроив тему. Вы можете сделать первый с помощью Mx customize-face RET default RET, а второй с помощью Mx customize-theme RET < / kbd> tango-dark RET

person Community    schedule 21.09.2012