改变颜色主题Emacs 24 - 订购事宜

jus*_*don 22 emacs emacs24

在emacs 24中,应用颜色主题的顺序似乎很重要.如果你做Mx color-theme-select,这是显而易见的.你的命令

有没有人对此问题有任何见解?

我希望能够在不重新启动的情况下切换以下颜色主题:

  1. solarized光
  2. solarized暗
  3. zenburn
  4. railscasts

我想我需要相当于emacs的css-reset.另一个非常宝贵的提示是,如果你使用邪恶,那么你需要这条线,否则你的光标会保持黑色,这对于黑暗主题来说是可怕的:

(setq evil-default-cursor t) 
Run Code Online (Sandbox Code Playgroud)

这是一个相关问题:在Emacs中切换颜色主题(<v.24).我使用的是Emacs 24.0.我发布这个问题是因为我正在寻找24.1之前的解决方法,或者如果24.1足够稳定可能会提供建议.

Boz*_*sov 17

在我看来,即使在Emacs 24上,你仍然使用旧的(并且没有维护的)颜色主题包.Emacs 24有一个内置的颜色主题基础设施(和像zenburnsolarized这样的主题已被移植到它上面),我建议你使用它.看看这里deftheme和朋友的详细信息.

Т®回答您关于颜色主题的特定问题 - 主题通常不会定义先前主题可能已调整并导致您出现问题的每个面孔.移动到主题之间的默认主题可能被认为类似于css重置.

  • 我猜你已经安装了一个依赖于'color-theme`的主题 - 在Marmalade上有很多这样的主题.在Emacs 24中 - "Mx禁用主题"(虽然我不确定你所描述的问题会出现在那里).我有一段时间没有使用过`color-theme`,所以我无法帮助你.我个人根本不自定义`.Xresources`(用于颜色主题).你为什么要这样做? (3认同)

tun*_*ngd 10

要在加载新主题之前自动禁用当前主题,您还可以使用建议:

(defadvice load-theme 
  (before theme-dont-propagate activate)
  (mapcar #'disable-theme custom-enabled-themes))
Run Code Online (Sandbox Code Playgroud)


Sim*_*ine 6

在.emacs/init.el中插入下面的代码,我必须C-t按指定的顺序循环浏览一个固定的主题列表.这与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)
Run Code Online (Sandbox Code Playgroud)


小智 5

我写了一个函数,在 emacs 切换到新主题之前禁用当前主题。

您可以将以下代码段粘贴到您的 init.el 中并使用 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)))
Run Code Online (Sandbox Code Playgroud)