Когда emacs работает, как я могу узнать, какая цветовая тема используется в настоящее время?
Когда emacs работает, как я могу узнать, какая цветовая тема используется в настоящее время?
Ответы:
Не существует понятия текущей темы, и, действительно, несколько тем можно применять последовательно, чтобы аддитивно определить набор активных лиц. Поддержка тем была добавлена в последние версии Emacs (см. M-x customize-theme
), И все еще есть опция «Выбрать более одной темы за раз».
Короче говоря, когда вы активируете тему, вы не переключаетесь на эту тему, а применяете изменения, указанные в теме, к лицам и переменным, которые она перечисляет.
Все настройки, которые явно не размещены в именованной теме, фактически помещаются в скрытую пользовательскую тему, поэтому всегда есть хотя бы одна активная тема. Другие включенные в данный момент темы перечислены в переменной custom-enabled-themes
.
Поделитесь примером использования color-theme-print, чтобы узнать, какую тему я применил.
через 'Mx color-theme-print' вы получите выходные данные об информации о цветовой теме, затем найдете типичное значение, уникальное для разных цветовых тем, я выбрал 'background-color', значение которого равно 537182 для моего emacs.
Откройте библиотеку цветовых тем «color-theme-library.el», затем найдите файл с ключевым словом «537182», после чего вы получите название темы.
Хотя это и не прямой путь, но он действительно работает, надеюсь, это поможет!
M-x color-theme-print
Полезно сказать, какие именно шрифты используются. Он не скажет вам, какие именованные цветовые темы были применены, но вы должны быть в состоянии решить это из вашего файла инициализации. Если нет, то я предполагаю, что вы должны использовать режим, который применяет свою собственную цветовую тему (я знаю, что Proof General делает это, и это раздражает больше всего).
Чтобы добавить ответ sanityinc, вы должны либо установить его самостоятельно, либо в своем файле init.el (dotemacs).
Я думаю, вы спрашиваете, потому что вы попробовали пару из них и забыли, верно? Я знаю, у меня есть вопрос, можете ли вы проверить свой буфер сообщений, чтобы увидеть последний из примененных.
@sanityinc спасибо за объяснение тоже. Я заметил, что когда я начал добавлять все больше и больше тем подряд, некоторые области, такие как мини-буфер, не изменялись или устанавливались в значение последней темы. теперь я знаю почему.
color-theme
пакете есть переменная с именем var color-theme-is-cumulative
, которую вы можете установить, чтобы nil
темы не мешали друг другу; это звучит как хорошая идея, но результаты, как правило, совершенно неожиданные, я думаю, что отчасти потому, что темы обычно делают предположения о встроенных лицах.
M-x describe-face RET default RET
(или другое лицо не по умолчанию), а затем использовать M-x rgrep
для поиска .el-файлов color-theme, содержащих одинаковые имена цветов / шестнадцатеричные значения.
M-x load-theme <colortheme>
ничего не печатает в буфер сообщений.
(require 'color-theme)
сначала