我正在使用 Emacs 23.3。如何更改字体大小和字体类型?
.emacs
的类似问题:stackoverflow.com/q/294664/94687
您还可以在 .emacs
文件中执行以下操作。
Emacs 23.1
(set-frame-font "Inconsolata 12" nil t)
旧版本的 Emacs
(set-default-font "Inconsolata 12" nil t)
您可以使用菜单栏。转到 Options
->Set Default Font...
。
选择字体后,不要忘记按 Options
->Save Options
— 否则关闭 Emacs 后新字体将不会保存。
M-x menu-set-font
。
通过以下方式获取当前字体:M-x describe-font
(如果您看到 Font name (default current choice for ASCII chars):
,请点击 Enter
)
这将显示可以在 init.el
中设置的属性列表。查看值后,将消息缓冲区最小化 C-x 1
。
现在执行 M-x customize-face
并:
向下滚动到“默认”部分更改“字体系列”的值更改“高度”的值在“状态”上按 Enter,然后 1 = 保存以备将来使用
或者,在 init.el
中,您可以使用以下内容:
(set-face-attribute 'default nil :font "Monospace" :height 160)
注意:如果您预设了窗口大小(宽度和高度),则字体的 height
属性会干扰该布局。
(set-face-attribute 'default nil :font "Ubuntu Medium" :height 160)
。使用 M-x menu-set-font
获取弹出窗口并查看您安装的可用字体。
要获取自定义使用的扩展列表
Mx custom-face RET
在我的回答中,我将专注于通过 X 资源设置默认字体大小。提到~/.Xdefaults
的答案中已经提到了X资源的使用;我将提供更多细节(我已经在 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
之类的内容。 xrdb -query
可以查看X资源。
实际上,就我而言,由于 /etc/X11/Xresources
中的一行(由启动脚本读取),正在读取 /etc/X11/Xresources-site
:
#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 资源的想法 - 显示为 {4 }; 以便远程 X 客户端读取相同的 X 资源。)
Emacs 理解的其他 X 资源在 https://www.gnu.org/software/emacs/manual/html_node/emacs/Table-of-Resources.html#Table-of-Resources 中进行了描述。
Emacs 24.3 有 a bug 这使得它不支持来自 X 资源的默认面的属性,例如在我上面的示例中。这是自 24.4 以来的 fixed。
macOS 上的 Emacs 25.1 默认使用 Menlo 12。我想增加尺寸。
C-x C-f
~/.emacs
将此添加到 ~/.emacs
文件的末尾:
(设置默认字体“Menlo 14”)
要在停留在 ~/.emacs
时看到更改立即生效:
M-x eval-buffer [RET]
如果您使用 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。
Emacs 方式
Mx customize-group Enter faces 点击“Basic Faces” 打开/展开“Default” 更改字体名称(如“Inconsolata”)并取消选择“foundry” 点击“Apply and save”
只需按 M-x
,然后输入 set-frame-font
。将显示您机器中存在的所有可用字体。
选择你要找的那个。我用这种方式简单地改变了我的 Emacs 中的字体类型;而不是更改 .spacemacs
或 .emacs
文件。
不定期副业成功案例分享
FRAMES
参数设置为t
以影响所有帧,而不仅仅是当前帧。(set-frame-font Fontname-Size nil t)
describe-font
来确定当前字体(例如,如果它是通过自定义设置的)或找出“全名”的可能选项