EMACS-DOCUMENT

=============>集思广益

更改Emacs的字体显示

我老是忘了怎么配置字体. 就此记录一下.

首先,要知道你现在用的字体信息,只需要在 *scratch* buffer 中输入并执行:

(face-attribute 'default :font)

就会你的 minibuffer 中显示字体信息了. 我建议你把这个默认值从 *Messages* buffer中提取出来放到 *scratch* buffer中并注释起来. (你在设置字体的时候可能会用到)

然后我们可以设置默认字体了, 在 *scratch* buffer中执行以下语句:

(set-face-attribute 'default nil :font "-outline-Monaco-normal-normal-normal-mono-16-*-*-*-c-*-iso8859-1" )

会发现字体已经发生改变了, 而且根据 wiki 上说的,这种方法“…不仅改变了当前frame的默认字体,而且也会影响后面打开的frame…”

如果你不想更改当前frame的字体,那么运行

(set-face-attribute 'default t :font "-outline-Monaco-normal-normal-normal-mono-16-*-*-*-c-*-iso8859-1" )

reddit, eli-zaretskii 的建议是用:

(add-to-list 'default-frame-alist '(font . "your-font-name-here"))

我试了一下,确实有用,只是似乎对当前buffer没有效果.

用这种方法,你就可以不用重启就能实验不同字体的显示笑过了.

另外说明一下,字体信息中的 16 指的是字体大小,我个人觉得 20 会好一点,不过这并不重要.

如果你想尝试一下其他字体,可以看看 这里.

一旦你找到了想要的字体,就把该配置加到 init.el 中去吧,这样每次启动emacs都会用新字体显示了.