我使用的是 Emacs 23.3。如何更改字体大小和字体类型?
您还可以在
.emacs
文件中执行以下操作。
(set-frame-font "Inconsolata 12" nil t)
(set-default-font "Inconsolata 12" nil t)
您可以使用菜单栏。前往
Options
->Set Default Font...
。
选择字体后,不要忘记按
Options
->Save Options
— 否则关闭 Emacs 后您的新字体将不会被保存。
通过以下方式获取当前字体:
M-x describe-font
(如果看到
Enter
,请点击Font name (default current choice for ASCII chars):
)
这将显示可在
init.el
中设置的属性列表。查看完这些值后,将消息缓冲区最小化 C-x 1
。
现在做一个
M-x customize-face
并且:
Enter
,然后 1 = 保存以供将来使用或者,在
init.el
中你可以有类似的东西:
(set-face-attribute 'default nil :font "Monospace" :height 160)
注意: 如果您预设了窗口大小(宽度和高度),则字体的
height
属性将干扰该布局。
要获取自定义使用的扩展列表
M-x 定制面 RET
在我的回答中,我将集中精力通过 X 资源设置默认字体大小。 X资源的使用在提到
~/.Xdefaults
的答案中已经提到过;我将提供更多详细信息(与我已经在https://unix.stackexchange.com/a/426914/4319中描述的相同。除了 Emacs 中“默认”“面”的高度之外,还可以同样设置其他字体参数。
要为 Emacs 设置特定的默认字体高度,我已放入
/etc/X11/Xresources-site
(/etc/X11/Xresources
也可以,但可以被您的发行版覆盖):
Emacs.default.attributeHeight: 94
这也会影响作为 Emacs 的远程 X 客户端(例如,通过 ssh 在远程主机上启动的 emacs)。
/etc/X11/Xresources-site
和 /etc/X11/Xresources
(可能还有 ~/.Xresources
和 ~/.Xdefaults
)通常在 X 会话开始时阅读;要立即影响您当前的 X 资源,请运行类似 xrdb -merge /etc/X11/Xresources-site
的命令。 X资源可以通过xrdb -query
查看。
实际上,就我而言,由于
/etc/X11/Xresources-site
中的一行(由启动脚本读取),/etc/X11/Xresources
正在被读取:
#include "/etc/X11/Xresources-site"
所以
/etc/X11/Xresources
是肯定要读的东西。
还有一些具有相同语法的文件,每次启动像 emacs 这样的 X 程序时都会读取这些文件。就我而言,它们是:
~/.Xdefaults-MY_HOST_NAME
、/etc/X11/app-defaults/Emacs
(仅适用于 emacs-athena,不适用于 emacs-gtk3)、/usr/share/X11/app-defaults/Emacs
等(但我更喜欢加载 X 资源的想法 - 用 xrdb -query
显示)
;以便远程 X 客户端读取相同的 X 资源。)
Emacs 理解的其他 X 资源描述于 https://www.gnu.org/software/emacs/manual/html_node/emacs/Table-of-Resources.html#Table-of-Resources。
Emacs 24.3 有 一个 bug ,这使得它不支持来自 X 资源的默认界面的属性,例如我上面的示例。自 24.4 起,此问题已修复。
macOS 上的 Emacs 25.1 默认使用 Menlo 12。我想增加尺寸。
C-x C-f
~/.emacs
将此添加到
~/.emacs
文件的末尾:
(设置默认字体“Menlo 14”)
要在入住期间看到更改立即生效
~/.emacs
:
M-x eval-buffer [RET]
Emacs 方式
customize-group
faces
如果您使用Linux/X11,您可能需要在
~/.Xdefaults
中进行设置。 我
已经在那里设置了字体,因为这里的其他答案没有效果。
我可以通过在 Emacs 中运行来查看可用的字体设置:
helm-select-xfont
然后我开始输入
Conso
,我看到如下条目:
-Consolas-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1
...
然后我把它放入
~/.Xdefaults
,设置大小12
为:
Emacs.font: xft:-*-Consolas-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1
然后重新启动 Emacs。
只需按
M-x
,然后输入 set-frame-font
。将显示您机器中存在的所有可用字体。
选择您要查找的一个。我用这种方法来简单地改变我的 Emacs 中的字体类型;而不是更改
.spacemacs
或 .emacs
文件。
使用 customize 设置字体大小发生得太晚了,第一个 emacs 框架“闪烁”(并且可能会在屏幕边缘调整大小), 因此,在 emacs 29.4 中我添加了以下内容
~/.emacs.d/early-init.el
:
(when initial-window-system ;; i-w-s from stack exchange
(add-to-list 'default-frame-alist '(font . "EmblCondHack-13")))
s/EmblCondHack/Monospace/
应该适合每个人