从.emacs设置Emacs 24颜色主题

Jas*_*uit 32 emacs dot-emacs emacs24

我的.emacs中有以下代码:

(if (null window-system)
  (progn
    (require 'color-theme)
    (color-theme-initialize)
    (color-theme-simple-1)))
Run Code Online (Sandbox Code Playgroud)

当我在控制台上打开Emacs时,我可以验证该progn块是否运行(通过a (message "Got here.")),并且我看到一个闪存,表明颜色主题已加载,但如果已加载,则会被其他内容覆盖.如果在加载后打开我的.emacs文件并使用上面提交的块C-x C-e,它就可以了.我试过做:

(add-hook 'after-init-hook
          (lambda ()
            (progn
              (require 'color-theme)
              (color-theme-initialize)
              (color-theme-simple-1))))
Run Code Online (Sandbox Code Playgroud)

但是行为是一样的.

可能与我使用Emacs 24相关,并且此代码不在我的.emacs中,而是在〜/ Dropbox/.emacs中,它是从我的.emacs加载的.


另外一个注意事项:我已经尝试过了M-x customize-themes,但是这些都没有在控制台上可以接受.它们或者产生几乎不可读的光主题,或者大部分文本是不可见的.

Mik*_*ike 49

Emacs 24内置了主题,它不使用类似的语句(require 'color-theme).正如Drew在评论中指出的那样,颜色主题和自定义主题之间存在差异,而新的方向则是针对后者.试着M-x customize-themes看看.从.emacs,你可以做的事情(load-theme 'wombat t).

......

它可能仍然是你的错.有一件事可以搞砸它就像改变了面孔 - 可能是你的.emacs文件的自定义面部分.Emacs的交互式自定义功能会自动包含您在设置时使用的任何主题的颜色信息(背景前景),因此这绝对会给色彩主题带来麻烦.如果这是导致它的原因,你可以用类似的东西设置你关心的特定属性

(set-face-attribute 'default nil :height 120)
Run Code Online (Sandbox Code Playgroud)

这将改变字体大小而不改变颜色.


Sel*_*lug 6

Emacs 24拥有自己的主题系统.

M-x customize-themes
Run Code Online (Sandbox Code Playgroud)

要么

(custom-set-variables
  ....
   '(custom-enabled-themes (quote (selected-theme)))
)
Run Code Online (Sandbox Code Playgroud)

  • 是的,但它没有一个好的和简单的适合控制台的主题。(如果我错了,请赐教。) (2认同)
  • 我认为tsdh-dark适用于控制台和编辑模式. (2认同)