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

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

(load-theme 'tango-dark t)

Тем не менее, когда я запускаю терминал ANSI-термин, цвета фона не работают хорошо:

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

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

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

или же

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

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

1 ответ

Решение

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

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

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

В любом случае, вы всегда должны иметь возможность настроить это либо путем настройки самого лица (которое переопределит параметры темы), либо путем настройки темы. Вы можете сделать первый, используя Mxcustomize-faceRETdefaultRET и второй, используя Mxcustomize-themeRETtango-darkRET

Другие вопросы по тегам