Apakah Anda yakin maksud Anda tema warna dan bukan tema kustom ? Jika Anda tidak menggunakan pihak ke-3 color-theme.elmaka Anda mungkin bermaksud tema khusus. Dalam hal ini, harap edit pertanyaan Anda sesuai. Lihat Warna dan Tema Kustom .
Drew
Jawaban:
13
Saya lebih suka menggunakan custom-theme-set-facesuntuk mendefinisikan kembali bagaimana tema menampilkan wajah tertentu, misalnya,
Untuk kasus spesifik zenburn, tema itu sendiri mendefinisikan berbagai warna dan makro yang terikat dengan nama variabel, sehingga Anda dapat menulis di atas sebagai:
di mana Anda seharusnya menulis potongan kode ini? di .spacemacs?
ChiseledAbs
1
Tidak tahu, maaf; Saya tidak menggunakan Spacemacs. Namun pada prinsipnya, yang perlu Anda lakukan adalah menyebabkan kode dievaluasi beberapa saat setelah zenburntema dimuat.
Sebagai contoh, saya memiliki yang berikut ini di dalam dotspacemacs/user-initsaya .spacemacsuntuk menyesuaikan warna latar belakang dan linenumber dari gruvbox dan tema cahaya solarized:
Saya menambahkan saran ke fungsi load-theme untuk menimpa wajah-wajah tertentu - dengan begitu Anda dapat terus menggunakan load-theme seperti biasa untuk memilih tema dan itu akan menerapkan override secara otomatis.
(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))))
))
Ini berfungsi, dan akan menyenangkan untuk memiliki sebagai bagian dari antarmuka, tetapi mungkin paling sederhana untuk hanya membuat fungsi untuk setiap tema yang Anda gunakan dan memanggil tema-set-wajah-kustom setelah memuatnya -
Mungkin lebih mudah bagi Anda untuk hanya menggunakan SPC SPCcustom-theme-visit-theme, menemukan gruvbox, melakukan pengeditan di sana dan kemudian hanya menempatkan (load-file "~/.emacs.d/gruvbox-theme.el")dalam dotspacemacs/user-configfungsi Anda .
color-theme.el
maka Anda mungkin bermaksud tema khusus. Dalam hal ini, harap edit pertanyaan Anda sesuai. Lihat Warna dan Tema Kustom .Jawaban:
Saya lebih suka menggunakan
custom-theme-set-faces
untuk mendefinisikan kembali bagaimana tema menampilkan wajah tertentu, misalnya,Untuk kasus spesifik
zenburn
, tema itu sendiri mendefinisikan berbagai warna dan makro yang terikat dengan nama variabel, sehingga Anda dapat menulis di atas sebagai:sumber
.spacemacs
?zenburn
tema dimuat.Di spacemacs, instal layer
theming
, lihat https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Bthemes/themingSebagai contoh, saya memiliki yang berikut ini di dalam
dotspacemacs/user-init
saya.spacemacs
untuk menyesuaikan warna latar belakang dan linenumber dari gruvbox dan tema cahaya solarized:sumber
Saya menambahkan saran ke fungsi load-theme untuk menimpa wajah-wajah tertentu - dengan begitu Anda dapat terus menggunakan load-theme seperti biasa untuk memilih tema dan itu akan menerapkan override secara otomatis.
Ini berfungsi, dan akan menyenangkan untuk memiliki sebagai bagian dari antarmuka, tetapi mungkin paling sederhana untuk hanya membuat fungsi untuk setiap tema yang Anda gunakan dan memanggil tema-set-wajah-kustom setelah memuatnya -
sumber
Contoh apa yang saya lakukan untuk mengedit
spacemacs-dark
, menghapus beberapa huruf tebal yang tidak saya sukai:sumber
Mungkin lebih mudah bagi Anda untuk hanya menggunakan SPC SPC
custom-theme-visit-theme
, menemukangruvbox
, melakukan pengeditan di sana dan kemudian hanya menempatkan(load-file "~/.emacs.d/gruvbox-theme.el")
dalamdotspacemacs/user-config
fungsi Anda .sumber