我的Emacs主题配置, 自由切换明亮主题和黑暗主题

我的Emacs主题主要是两套, 一个白天明亮主题, 一个夜晚黑暗主题, 英文字体一律使用Fixedsys, 需要下载一个ttf文件, 搜索Fixedsys Excelsior即可找到. 找到后安装到Windows系统当中.

黑暗主题我觉得系统自带的wombat就非常好, 但是白天主题在系统里面试了好几套都不怎么满意, 最后搜到了leuven这款主题. 下载Lueven Theme.

中文字体用微软雅黑.

原先设定的是打开Emacs的时候判断时间, 如果是白天用白天的主题, 否则用晚上的主题. 但是后来发现很多时候还是需要手动切换主题, 因为Emacs有时候会一直开着. 而平板几乎不需要关机.

 
 
(setq day-theme 'leuven)
(setq dark-theme 'wombat)
 
(defun synchronize-theme ()
    (setq hour 
        (string-to-number 
            (substring (current-time-string) 11 13))) 
    (if (member hour (number-sequence 6 16))
        (setq now day-theme)
        (setq now dark-theme)) 
    (load-theme now)
 
)
 
(defun font-set ()
  (set-default-font "Fixedsys Excelsior 3.01 12")
  (dolist 
    (charset '(kana han symbol cjk-misc bopomofo))
    (set-fontset-font (frame-parameter nil 'font)
      charset
      (font-spec :family "Microsoft Yahei" :size 16)))
)
 
(synchronize-theme)
(font-set)
 
(defun day ()
  (interactive)
  (load-theme 'leuven)
  (font-set)
)
 
(defun dark ()
  (interactive)
  (load-theme 'wombat)
  (font-set)
)
 
 

上面的代码, 自动的时候会自动根据时间选择一个主题, 如果想手动改变主题, 执行M-x day RET切换到白亮, M-x dark切换到夜晚.

暗色效果图:

emacs 暗夜主题, 夜晚主题

明亮效果图:

 emacs day theme, 白天主题, 明亮主题