21

Пока emacs работает, как я могу узнать, какая цветовая тема используется в настоящее время?

4 ответа4

17

Не существует понятия текущей темы, и, действительно, несколько тем можно применять последовательно, чтобы аддитивно определить набор активных лиц. Поддержка тем была добавлена в последние версии Emacs (см. M-x customize-theme), и все еще есть опция "Выбрать более одной темы за раз".

Короче говоря, когда вы активируете тему, вы не переключаетесь на эту тему, а применяете изменения, указанные в теме, к лицам и переменным, которые она перечисляет.

Все настройки, которые явно не размещены в именованной теме, фактически помещаются в скрытую пользовательскую тему, поэтому всегда есть хотя бы одна активная тема. Другие включенные в данный момент темы перечислены в переменной custom-enabled-themes .

4

Поделитесь примером использования color-theme-print, чтобы узнать, какую тему я применил.

через 'Mx color-theme-print' вы получите выходные данные об информации о цветовой теме, а затем найдете типичное значение, уникальное для различных цветовых тем, я выбрал 'background-color', значение которого равно 537182 для моего emacs.

Откройте библиотеку цветовых тем «color-theme-library.el», затем найдите файл с ключевым словом «537182», после чего вы получите название темы.

Хотя это и не прямой путь, но он действительно работает, надеюсь, это поможет!

3

M-x color-theme-print полезна, чтобы точно сказать, какие грани шрифта действуют. Он не скажет вам, какие именованные цветовые темы были применены, но вы должны быть в состоянии решить это из вашего файла инициализации. Если нет, то я предполагаю, что вы должны использовать режим, который применяет свою собственную цветовую тему (я знаю, что Proof General делает это, и это раздражает больше всего).

1

Чтобы добавить ответ sanityinc, вы должны либо установить его самостоятельно, либо в своем файле init.el (dotemacs).

Я думаю, вы спрашиваете, потому что вы попробовали пару из них и забыли, верно? Я знаю, у меня есть, интересно, вы можете проверить свой буфер сообщений, чтобы увидеть последний примененный.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .