rocks emacs emacs24

rocks - emacs windows installer



Cambiando los temas de color Emacs 24-asuntos de orden (6)

En emacs 24, el orden en que se aplican los temas de color parece importar. Esto es obvio si haces Mx color-theme-select. El orden en que usted ic

¿Alguien tiene alguna idea de este problema?

Me gustaría poder cambiar entre los siguientes temas de color sin reiniciar:

  1. luz solarizada
  2. solarizado oscuro
  3. Zenburn
  4. ferrocarriles

Supongo que necesito el equivalente de un css-reset para emacs. Otro consejo que tiene un valor incalculable es que si usas el mal, entonces necesitas esta línea o el cursor permanece negro, lo que es horrible para los temas oscuros:

(setq evil-default-cursor t)

Este es un problema relacionado: Cambio entre temas de color en Emacs (<v.24) . Estoy usando Emacs 24.0. Estoy publicando esta pregunta porque estoy buscando una solución alternativa para la versión anterior a 24.1, o quizás un consejo si 24.1 es lo suficientemente estable.


Al insertar el código a continuación en su archivo .emacs / init.el, he enlazado a Ct para recorrer una lista fija de temas en el orden especificado. Esto es compatible con Emacs 24.

;;;;; Theme ;;;;; ;; Cycle through this set of themes (setq my-themes ''(solarized-light solarized-dark zenburn railscast)) (setq my-cur-theme nil) (defun cycle-my-theme () "Cycle through a list of themes, my-themes" (interactive) (when my-cur-theme (disable-theme my-cur-theme) (setq my-themes (append my-themes (list my-cur-theme)))) (setq my-cur-theme (pop my-themes)) (load-theme my-cur-theme t)) ;; Switch to the first theme in the list above (cycle-my-theme) ;; Bind this to C-t (global-set-key (kbd "C-t") ''cycle-my-theme)


Como han dicho otros, cambie a la versión de Emacs 24 de los temas. Una vez que estés usando eso, puedes "deshacer" un tema con disable-theme . Solo dale el mismo argumento que pasaste al load-theme y deberías volver a una pizarra en blanco. Entonces solo carga el nuevo tema.


Me parece que incluso en Emacs 24 todavía estás usando el paquete de tema de color antiguo (y no mantenido). Emacs 24 tiene una infraestructura de temática de color incorporada (y temas como zenburn y zenburn han sido portados a ella) que sugeriría usar en su lugar. Echa un vistazo here para obtener más información sobre deftheme y amigos.

То responda a su pregunta en particular acerca del tema del color: los temas generalmente no definen todas las caras que un tema anterior pudo haber modificado y que causan sus problemas. Moverse al tema predeterminado entre temas probablemente se considere similar a un reinicio de CSS.


Para deshabilitar automáticamente el tema actual antes de cargar el nuevo, también puede usar el consejo:

(defadvice load-theme (before theme-dont-propagate activate) (mapcar #''disable-theme custom-enabled-themes))


Puede alternar entre temas personalizados o de color usando cualquiera de estas bibliotecas:

  • Haz Re Mi , ordena doremi-custom-themes+ y doremi-color-themes+ . Necesitas doremi-cmd.el para esto.

  • Icicles , multi-comandos icicle-custom-theme y icicle-color-theme .

Con los comandos de Carámbanos, también puede restringir el conjunto de temas para alternar, y puede clasificarlos de varias maneras (es decir, cambiar el orden del ciclo).


Escribí una función que desactiva el tema actual antes de que emacs cambie a uno nuevo.

Puedes pegar el siguiente fragmento de código en tu init.el y usar Mx l0ad-theme.

https://github.com/maruks/.emacs.d

;; color themes (add-to-list ''custom-theme-load-path "~/.emacs.d/themes") (setq current-t43m3 nil) (defun enab-theme (theme) (if current-t43m3 (disable-theme current-t43m3)) (setq current-t43m3 theme) (load-theme theme t)) (defun disab-current-theme () (if current-t43m3 (disable-theme current-t43m3)) (setq current-t43m3 nil)) (global-set-key (kbd "C-c ltwo") ''(lambda () (interactive) (enab-theme ''wombat))) (global-set-key (kbd "C-c ltze") ''(lambda () (interactive) (enab-theme ''zenburn))) (global-set-key (kbd "C-c ltsd") ''(lambda () (interactive) (enab-theme ''solarized-dark))) (global-set-key (kbd "C-c ltsl") ''(lambda () (interactive) (enab-theme ''solarized-light))) (global-set-key (kbd "C-c ltne") ''(lambda () (interactive) (enab-theme ''tomorrow-night-eighties))) (global-set-key (kbd "C-c ltni") ''(lambda () (interactive) (enab-theme ''tomorrow-night))) (global-set-key (kbd "C-c ltnb") ''(lambda () (interactive) (enab-theme ''tomorrow-night-bright))) (global-set-key (kbd "C-c ltto") ''(lambda () (interactive) (enab-theme ''tomorrow))) (global-set-key (kbd "C-c ltta") ''(lambda () (interactive) (enab-theme ''tango))) (global-set-key (kbd "C-c ltdb") ''(lambda () (interactive) (enab-theme ''deeper-blue))) (global-set-key (kbd "C-c ltdi") ''(lambda () (interactive) (enab-theme ''dichromacy))) (global-set-key (kbd "C-c dct") ''(lambda () (interactive) (disab-current-theme))) (defun l0ad-theme (name) (interactive (list (intern (completing-read "Load custom theme: " (mapcar ''symbol-name (custom-available-themes)))))) (enab-theme name)) (setq d3fault-theme (getenv "EMACS_DEFAULT_THEME")) (when d3fault-theme (enab-theme (intern d3fault-theme)))