Tem certeza de que quer dizer tema de cores e não tema personalizado ? Se você não estiver usando terceiros color-theme.el, provavelmente quer dizer um tema personalizado. Nesse caso, edite sua pergunta de acordo. Consulte Cor e temas personalizados .
Drew
Respostas:
13
Eu prefiro usar custom-theme-set-facespara redefinir como o tema exibe um rosto específico, por exemplo,
Para o caso específico de zenburn, o próprio tema define várias cores e uma macro na qual elas são vinculadas a nomes de variáveis, para que você possa escrever o seguinte como:
onde você deve escrever esse pedaço de código? em .spacemacs?
ChiseledAbs
1
Não faço ideia, desculpe; Eu não uso Spacemacs. Em princípio, porém, tudo o que você precisa fazer é fazer com que o código seja avaliado algum tempo após o zenburncarregamento do tema.
Por exemplo, eu tenho o seguinte cortou na dotspacemacs/user-initminha .spacemacspara ajustar a cor da gruvbox ea luz solarizados tema de fundo e linenumber:
Adicionei conselhos à função load-theme para substituir certas faces - dessa forma, você pode continuar usando o load-theme normalmente para selecionar um tema e aplicará as substituições automaticamente.
(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))))
))
Funciona, e seria bom ter como parte da interface, mas provavelmente é mais simples criar uma função para cada tema que você usa e chamar um conjunto de temas personalizados após carregá-lo -
Pode ser mais fácil você usar SPC SPCcustom-theme-visit-theme, encontrar gruvbox, fazer suas edições lá e apenas colocar (load-file "~/.emacs.d/gruvbox-theme.el")em sua dotspacemacs/user-configfunção.
color-theme.el
, provavelmente quer dizer um tema personalizado. Nesse caso, edite sua pergunta de acordo. Consulte Cor e temas personalizados .Respostas:
Eu prefiro usar
custom-theme-set-faces
para redefinir como o tema exibe um rosto específico, por exemplo,Para o caso específico de
zenburn
, o próprio tema define várias cores e uma macro na qual elas são vinculadas a nomes de variáveis, para que você possa escrever o seguinte como:fonte
.spacemacs
?zenburn
carregamento do tema.No spacemacs, instale a camada
theming
, consulte https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Bthemes/themingPor exemplo, eu tenho o seguinte cortou na
dotspacemacs/user-init
minha.spacemacs
para ajustar a cor da gruvbox ea luz solarizados tema de fundo e linenumber:fonte
Adicionei conselhos à função load-theme para substituir certas faces - dessa forma, você pode continuar usando o load-theme normalmente para selecionar um tema e aplicará as substituições automaticamente.
Funciona, e seria bom ter como parte da interface, mas provavelmente é mais simples criar uma função para cada tema que você usa e chamar um conjunto de temas personalizados após carregá-lo -
fonte
Exemplo do que fiz para editar
spacemacs-dark
, removendo alguns negritos que não gosto:fonte
Pode ser mais fácil você usar SPC SPC
custom-theme-visit-theme
, encontrargruvbox
, fazer suas edições lá e apenas colocar(load-file "~/.emacs.d/gruvbox-theme.el")
em suadotspacemacs/user-config
função.fonte