Вы уверены, что имеете в виду цветовую тему, а не пользовательскую тему? Если вы не используете стороннюю color-theme.elверсию, вы, вероятно, имеете в виду собственную тему. В этом случае, пожалуйста, отредактируйте ваш вопрос соответственно. Смотрите цвет и пользовательские темы .
Дрю
Ответы:
13
Я предпочитаю использовать, custom-theme-set-facesчтобы переопределить, как тема отображает конкретное лицо, например,
Для конкретного случая zenburnсама тема определяет различные цвета и макрос, в котором они связаны с именами переменных, поэтому вы можете написать выше:
где вы должны написать этот кусок кода? в .spacemacs?
ChiseledAbs
1
Понятия не имею, извините; Я не использую Spacemacs. В принципе, все, что вам нужно сделать, это заставить код быть оцененным через некоторое время после zenburnзагрузки темы.
Например, у меня есть следующий пропущен в dotspacemacs/user-initиз моих .spacemacsрегулировать цвет фона и LINENUMBER цвета gruvbox и соляризацию-светлую тема:
Я добавил совет к функции load-theme, чтобы переопределить определенные лица - таким образом, вы можете продолжать использовать load-theme как обычно, чтобы выбрать тему, и она автоматически применит переопределения.
(defadvice load-theme (after theme-set-overrides activate)
"Set override faces for different custom themes."
(dolist (theme-settings theme-overrides)
(let ((theme (car theme-settings))
(faces (cadr theme-settings)))
(if (member theme custom-enabled-themes)
(dolist (face faces)
(custom-theme-set-faces theme face))))))
(defcustom theme-overrides nil
"Association list of override faces to set for different custom themes.")
(defun alist-set (alist-symbol key value)
"Set VALUE of a KEY in ALIST-SYMBOL."
(set alist-symbol
(cons (list key value) (assq-delete-all key (eval alist-symbol)))))
; override some settings of the ample-flat theme
(alist-set 'theme-overrides 'ample-flat '(
(default ((t (:background "gray12" :foreground "#bdbdb3"))))
(mode-line ((t (:background "cornsilk4" :foreground "#222" :inherit 'variable-pitch))))
(outline-2 ((t (:inherit font-lock-keyword-face)))) ; blueish
(outline-3 ((t (:inherit font-lock-comment-face)))) ; brownish
(outline-4 ((t (:inherit font-lock-string-face)))) ; orangeish
(org-table ((t (:inherit fixed-pitch :height 0.7 :foreground "#887"))))
(org-formula ((t (:inherit org-table :foreground nil))))
))
Это работает, и было бы неплохо иметь его как часть интерфейса, но, вероятно, проще всего просто создать функцию для каждой используемой вами темы и вызвать custom-theme-set-face после ее загрузки -
Возможно, вам будет проще просто использовать SPC SPCcustom-theme-visit-theme, находить gruvbox, вносить свои изменения, а затем просто помещать их (load-file "~/.emacs.d/gruvbox-theme.el")в свою dotspacemacs/user-configфункцию.
color-theme.el
версию, вы, вероятно, имеете в виду собственную тему. В этом случае, пожалуйста, отредактируйте ваш вопрос соответственно. Смотрите цвет и пользовательские темы .Ответы:
Я предпочитаю использовать,
custom-theme-set-faces
чтобы переопределить, как тема отображает конкретное лицо, например,Для конкретного случая
zenburn
сама тема определяет различные цвета и макрос, в котором они связаны с именами переменных, поэтому вы можете написать выше:источник
.spacemacs
?zenburn
загрузки темы.В spacemacs установите слой
theming
, см. Https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Bthemes/themingНапример, у меня есть следующий пропущен в
dotspacemacs/user-init
из моих.spacemacs
регулировать цвет фона и LINENUMBER цвета gruvbox и соляризацию-светлую тема:источник
Я добавил совет к функции load-theme, чтобы переопределить определенные лица - таким образом, вы можете продолжать использовать load-theme как обычно, чтобы выбрать тему, и она автоматически применит переопределения.
Это работает, и было бы неплохо иметь его как часть интерфейса, но, вероятно, проще всего просто создать функцию для каждой используемой вами темы и вызвать custom-theme-set-face после ее загрузки -
источник
Пример того, что я сделал для редактирования
spacemacs-dark
, удалив пару жирных шрифтов, которые мне не нравятся:источник
Возможно, вам будет проще просто использовать SPC SPC
custom-theme-visit-theme
, находитьgruvbox
, вносить свои изменения, а затем просто помещать их(load-file "~/.emacs.d/gruvbox-theme.el")
в своюdotspacemacs/user-config
функцию.источник