使用模式更改Emacs主题

时间:2015-11-21 14:08:35

标签: emacs themes elisp

我想在键入LATEX或Markdown时从' solarized-dark(默认使用我的主题)切换到'solarized-light。 我使用Emacs 24并从https://github.com/sellout/emacs-color-theme-solarized进行了曝光。

在我的custom.el中,我写了以下几行:

(add-to-list 'custom-theme-load-path (make-plugin-path "color-theme-solarized"))
(load-theme 'solarized 1)

(add-hook 'markdown-mode-hook
      (lambda (frame)
        (set-frame-parameter frame 'background-mode 'light))
      )

但它无法正常工作,即加载.md文件不会让Emacs从“黑暗”切换到轻微的主题。

任何帮助都会感激不尽。手动切换的方法也将受到赞赏。

由于

1 个答案:

答案 0 :(得分:1)

试试这个:

(add-hook 'markdown-mode-hook
  (lambda ()
    (set-frame-parameter (window-frame) 'background-mode 'dark)
    (enable-theme 'solarized)))

主要更改是调用window-frame来获取当前帧,然后调用enable-theme以使其处于活动状态。