如何更改emacs的默认字体大小和字体类型?


Answers:


70

您可以使用菜单栏。转到Options-> Set Default Font...

选择字体后,别忘了按Options->,Save Options否则,关闭Emacs后,新字体将不会保存。


9
这是行不通的(也许以前曾经这样做过)。它仅更改当前帧的字体,并且不会为以后的会话保存。有关有效的方法,请参见此答案
Alexis 2014年

@alexis:它在Emacs-24.2。上仍然对我有效。这是截图。(对不起,字体选择麻烦:P。)重新启动Emacs时,它也可以正确保存。也许您的配置有什么不同?
Tikhon Jelvis'4

3
我的版本几乎没有什么不同:我在OS X上安装了GNU Emacs 24.3.1,但是它不起作用。显然有些不同,但也请参阅我链接到的答案中的问题和讨论。这种方法为我节省了一天。我猜结论是“ YMMV”。
Alexis 2014年

1
也不适用于OS X 10.10.5上的Emacs 24.4。但是直接更改为〜/ .emacs是可行的。
Fonzie 2015年

7
如果您隐藏了菜单栏,但仍希望使用GUI字体选择器进行预览,则可以使用M-x menu-set-font
弗拉基米尔·潘捷列夫

113

您也可以在.emacs文件中执行以下操作。

Emacs 23.1

(set-frame-font "Inconsolata 12" nil t)

旧版本的Emacs

(set-default-font "Inconsolata 12" nil t)

12
(set-default-font Fontname-Size)现在已被弃用(set-frame-font Fontname-Size)
拿破仑

1
您还应该将FRAMES参数设置t为影响所有帧,而不仅仅是当前帧。(set-frame-font Fontname-Size nil t)
尼克·麦考迪

您还可以运行describe-font以确定当前字体(例如,如果通过自定义进行设置)或找出“全名”的可能选项
kolen,

7

要获取扩展的自定义列表,请使用

MX定制面RET


4

MacOS上的Emacs 25.1默认具有Menlo 12。我想增加尺寸。

C-x C-f ~/.emacs

将此添加到~/.emacs文件末尾

(设置默认字体“ Menlo 14”)

停留期间立即查看更改效果 ~/.emacs

M-x eval-buffer [RET]


1
这适用于启动emacs时打开的FIRST文件,但随后的缓冲区再次使用较小的字体。
HaPsantran

3

在我的回答中,我将专注于通过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通常在您的X会话开始时读取和/etc/X11/Xresources(并且可能~/.Xresources~/.Xdefaults);要立即影响您当前的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有一个错误,使它无法使用来自X资源的默认人脸的属性,例如上面的示例。自24.4起已修复


3

我在以下设置init.el

(set-face-attribute 'default nil :font "Menlo" :height 160)

注意:如果您有窗口大小(宽度和高度)的预设height,则字体的属性将干扰该布局。


2

如果您使用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。


0

只需按M-x然后输入set-frame-font。将显示机器中存在的所有可用字体,然后选择要查找的字体。我Emacs很简单地使用这种方法来更改字体类型。而不是更改.spacemacsor.emacs文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.