Sind Sie Sie meine , klar Farbe Thema und nicht benutzerdefinierte Thema? Wenn Sie den Drittanbieter nicht verwenden, color-theme.elmeinen Sie wahrscheinlich ein benutzerdefiniertes Thema. In diesem Fall bearbeiten Sie bitte Ihre Frage entsprechend. Siehe Farbe und benutzerdefinierte Designs .
Drew
Antworten:
13
Ich bevorzuge die Verwendung, custom-theme-set-facesum neu zu definieren, wie das Thema ein bestimmtes Gesicht anzeigt, z.
Für den speziellen Fall von zenburndefiniert das Thema selbst verschiedene Farben und ein Makro, in dem diese an Variablennamen gebunden sind, sodass Sie Folgendes schreiben können:
Ich habe zum Beispiel Folgendes in dotspacemacs/user-initmeinem .spacemacsFenster eingefügt, um die Hintergrund- und Leinenfarben der Gruvbox und des Themas "Solarisiertes Licht" anzupassen:
Ich habe der Funktion "Thema laden" einen Hinweis hinzugefügt, um bestimmte Gesichter zu überschreiben. Auf diese Weise können Sie das Thema weiterhin wie gewohnt laden, um ein Thema auszuwählen, und die Überschreibungen werden automatisch angewendet.
(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))))
))
Es funktioniert, und es wäre schön, es als Teil der Benutzeroberfläche zu haben, aber es ist wahrscheinlich am einfachsten, einfach eine Funktion für jedes von Ihnen verwendete Thema zu erstellen und benutzerdefinierte Themensätze nach dem Laden aufzurufen -
Es könnte einfacher für Sie sein, dort nur zu verwenden SPC SPCcustom-theme-visit-theme, zu finden gruvbox, Ihre Änderungen vorzunehmen und dann einfach (load-file "~/.emacs.d/gruvbox-theme.el")in Ihre dotspacemacs/user-configFunktion zu platzieren.
color-theme.el
meinen Sie wahrscheinlich ein benutzerdefiniertes Thema. In diesem Fall bearbeiten Sie bitte Ihre Frage entsprechend. Siehe Farbe und benutzerdefinierte Designs .Antworten:
Ich bevorzuge die Verwendung,
custom-theme-set-faces
um neu zu definieren, wie das Thema ein bestimmtes Gesicht anzeigt, z.Für den speziellen Fall von
zenburn
definiert das Thema selbst verschiedene Farben und ein Makro, in dem diese an Variablennamen gebunden sind, sodass Sie Folgendes schreiben können:quelle
.spacemacs
?zenburn
Laden des Themas ausgewertet werden .Installieren Sie in Spacemacs die Ebene
theming
, siehe https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Bthemes/themingIch habe zum Beispiel Folgendes in
dotspacemacs/user-init
meinem.spacemacs
Fenster eingefügt, um die Hintergrund- und Leinenfarben der Gruvbox und des Themas "Solarisiertes Licht" anzupassen:quelle
Ich habe der Funktion "Thema laden" einen Hinweis hinzugefügt, um bestimmte Gesichter zu überschreiben. Auf diese Weise können Sie das Thema weiterhin wie gewohnt laden, um ein Thema auszuwählen, und die Überschreibungen werden automatisch angewendet.
Es funktioniert, und es wäre schön, es als Teil der Benutzeroberfläche zu haben, aber es ist wahrscheinlich am einfachsten, einfach eine Funktion für jedes von Ihnen verwendete Thema zu erstellen und benutzerdefinierte Themensätze nach dem Laden aufzurufen -
quelle
Beispiel für das, was ich gemacht habe
spacemacs-dark
, um ein paar Fettdrucke zu entfernen, die mir nicht gefallen:quelle
Es könnte einfacher für Sie sein, dort nur zu verwenden SPC SPC
custom-theme-visit-theme
, zu findengruvbox
, Ihre Änderungen vorzunehmen und dann einfach(load-file "~/.emacs.d/gruvbox-theme.el")
in Ihredotspacemacs/user-config
Funktion zu platzieren.quelle