在windows中使用emacs --daemon 这要怎么解决啊

把下面的代码放到 init.el 中,并加入自己字体设置就能解决:

(defun my-after-frame (frame)
  (if (display-graphic-p frame)
      (progn
        ;; 中文字体设置放在这里。
        )))

(mapc 'my-after-frame (frame-list))
(add-hook 'after-make-frame-functions 'my-after-frame)

我这边还要设置文件名的编码使用 gb18030,才能正常打开带中文名称的文件:

(when (eq system-type 'windows-nt)
  (setq file-name-coding-system 'gb18030))

参考这个帖子:

更新:

用楼下 @Shynur 提示的方法更好,只需要在 emacsclient 的窗口第一次启动时设置一次字体就好了。

1 个赞

没必要啊,你这个每次新建frame都会调用。我发的那个stack exchange的帖子已经说得很清楚了

1 个赞