更改颜色主题Emacs 24--订单事项

更改颜色主题Emacs 24--订单事项,emacs,emacs24,Emacs,Emacs24,在emacs 24中,应用颜色主题的顺序似乎很重要。如果您选择M-x颜色主题,这是显而易见的。你要的订单 有人对这个问题有什么见解吗 我希望能够在不重新启动的情况下在以下颜色主题之间切换: 日光灯 日晒黑 岑本 铁路骗子 我想我需要对emacs进行css重置。 另一个非常宝贵的提示是,如果你使用邪恶,那么你需要这一行,否则你的光标将保持黑色,这对于黑暗主题来说是可怕的: (setq evil-default-cursor t) 这是一个相关的问题:在Emacs中切换颜色主题(

在emacs 24中,应用颜色主题的顺序似乎很重要。如果您选择M-x颜色主题,这是显而易见的。你要的订单

有人对这个问题有什么见解吗

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

  • 日光灯
  • 日晒黑
  • 岑本
  • 铁路骗子
  • 我想我需要对emacs进行css重置。 另一个非常宝贵的提示是,如果你使用邪恶,那么你需要这一行,否则你的光标将保持黑色,这对于黑暗主题来说是可怕的:

    (setq evil-default-cursor t) 
    

    这是一个相关的问题:在Emacs中切换颜色主题(在我看来,即使在Emacs 24上,您仍然在使用旧的(未维护的)颜色主题包。Emacs24有一个内置的颜色主题化基础设施(以及像这样的主题,并且已经被移植到它中),我建议您改用它。查看有关
    deftheme
    和朋友的详细信息


    回答您关于颜色主题的特定问题-主题通常不会定义前一个主题可能调整过并导致您出现问题的每一张脸。在主题之间移动到默认主题可能被认为类似于css重置。

    正如其他人所说,切换到Emacs 24版本的主题。一旦你使用它,你就可以用
    禁用主题
    来“撤销”一个主题。只要给它与传递给
    load theme
    的参数相同的参数,您就应该回到空白状态。然后加载新主题。

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

    您可以将以下代码片段粘贴到您的init.el中,并使用M-xl0ad主题


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

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

    在.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)
    

    您可以使用以下任一库在自定义主题或颜色主题之间循环:

    • ,命令
      doremi自定义主题+
      doremi颜色主题+
      。你需要这个

    • ,多个命令
      冰柱自定义主题
      冰柱颜色主题


    使用Icicles命令,您还可以缩小要循环的主题集,并可以以各种方式对其进行排序(即更改循环顺序)。

    emacs 24.0<代码>M-x显示关于屏幕或
    M-x emacs版本
    如何在交换机之间移动到默认主题?非常感谢!如果我使用的是elpa,我应该确保我没有安装颜色主题吗?顺便说一句,我喜欢zenburn,但我也喜欢Railscapsts的颜色,当我想在白天多对比一点的时候。对solarized附带的定制.Xresources有任何意见吗?我猜您安装了一个依赖于
    颜色主题的主题-
    -有很多关于果酱的主题。在Emacs 24-
    M-x中禁用主题(尽管我不确定您描述的问题是否存在)。我已经有一段时间没有使用
    颜色主题了,所以我不能帮你。我个人根本不定制
    .Xresources
    (颜色主题)。为什么要这样做?我在这里为.Xresources:提供了建议。我认为这可能与使用emacs颜色主题有点冲突。颜色主题与emacs的自定义主题功能相比有一些优势:(1)切换颜色主题非常快。切换自定义主题的速度非常慢,并且会随着前一个主题被禁用和下一个主题被启用而闪烁。如果有多个帧,则差异会大大加剧。(2) 无法撤消自定义主题以恢复以前的非主题(但可能是自定义的)外观。只能相对于另一个主题“禁用”自定义主题。此答案错误、或不完全正确。我正在使用
    加载主题
    ,当我使用zenburn和solarized(需要从MELPA/Marmalade安装)时,我得到了OP中描述的确切问题。
    禁用主题
    似乎是一个很好的解决方案,但最好是将其自动化。不,您无法撤消自定义主题。在大多数情况下,您可以撤消颜色主题,恢复以前的非主题外观。“禁用”自定义主题仅与另一个主题相关。什么是(kb“C-t”)?为什么不是(kbd“C-t”)?抱歉,只是一个输入错误?它不是一个输入错误,但在本例中,您也可以使用(kbd“C-t”)。我之所以有一个“kb”宏,是因为有另一段代码可以同时执行多个键绑定:
    (dolist(pair)(“C-k”kill-整行)(“C-z”undo)…)((全局设置键(kb(car-pair))(cadr-pair)))
    。如果我使用“kbd”而不是我自己的“kb”宏:
    (defun kb(k)(读取kbd宏k))
    ,它会抱怨“kbd”是一个宏而不是一个函数。或者类似的东西。愚蠢的小改动。我已经在上面的代码中将“kb”改为“kbd”,所以谢谢!尝试所有主题“(设置我的主题(自定义可用主题))”
    ;;;;; 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)