我正在尝试熟悉 emacs。我安装了emacs 入门套件。现在我正在尝试自定义字体。~/.emacs.d/init.el
我这样做了(set-frame-font "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1")
。在我这样做之前,它工作正常C-x 5 2
。新框架使用我自定义之前系统上的字体创建。我如何覆盖此行为以仅使用我在 init.el 中指定的字体?我是否应该~/.emacs
为此类设置创建文件(现在缺少)?
答案1
set-frame-font
设置当前框架的字体。要设置所有框架的默认字体,请在您的 中包含以下行~/.emacs.d/init.el
,设置font
范围在default-frame-alist
:
(add-to-list 'default-frame-alist
'(font . "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"))
~/.emacs
是 Emacs 配置文件的传统位置。~/.emacs.d/init.el
是具有完全相同作用的替代名称。使用其中之一(但不能同时使用)。
对于 X 显示器(即在 unix 上,或在使用 X 服务器的非 unix 系统上),您还可以通过以下方式设置字体X 资源在许多系统上,~/.Xresources
当您登录时会被读取,您可以在其中写入:
Emacs.font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1
答案2
set-frame-font
需要两个可选参数:KEEP-SIZE
和FRAMES
。如果 FRAMES
设置为非零值,则字体将应用于未来的帧。
(set-frame-font "Inconsolata-13" t t)
我不确定这种情况持续了多久,但从 Emacs 24.4.1 开始确实如此。