【问题标题】:How do I change Emacs' default font size and font type?如何更改 Emacs 的默认字体大小和字体类型?
【发布时间】:2011-08-26 23:17:24
【问题描述】:

我正在使用 Emacs 23.3。如何更改字体大小和字体类型?

【问题讨论】:

标签: emacs emacs23


【解决方案1】:

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

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

【讨论】:

  • 这不起作用(也许它曾经是?)它只会更改当前帧的字体,并且不会为将来的会话保存。请参阅this answer 了解有效的方法。
  • @alexis:它在 Emacs-24.2 上仍然适用于我。这是screenshot。 (对不起,可怕的字体选择:P。)当我重新启动 Emacs 时,它也正确保存了。也许您的配置有所不同?
  • 我的版本几乎没有什么不同:我在 OS X 上安装了 GNU Emacs 24.3.1,但它不起作用。显然有些不同,但另请参阅the answer I linked to 的问题和讨论。这种方法为我节省了一天。我猜结论是“YMMV”。
  • 也不适用于 OS X 10.10.5 上的 Emacs 24.4。但直接更改为 ~/.emacs 是可行的。
  • 如果您隐藏了菜单栏但仍想使用带有预览的 GUI 字体选择器,您可以使用 M-x menu-set-font
【解决方案2】:

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

Emacs 23.1

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

旧版本的 Emacs

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

【讨论】:

  • (set-default-font Fontname-Size) 现在已弃用 (set-frame-font Fontname-Size)
  • 您还应该将FRAMES 参数设置为t 以影响所有帧,而不仅仅是当前帧。 (set-frame-font Fontname-Size nil t)
  • 您也可以运行describe-font 来确定当前字体(例如,如果它是通过自定义设置的)或找出“全名”的可能选项
【解决方案3】:

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

M-x custom-face RET

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      macOS 上的 Emacs 25.1 默认使用 Menlo 12。我想增加尺寸。

      C-x C-f~/.emacs

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

      (set-default-font "Menlo 14")

      留在~/.emacs时看到更改立即生效:

      M-x eval-buffer [RET]

      【讨论】:

      • 这适用于我在启动 emacs 时打开的第一个文件,但随后的缓冲区再次使用较小的字体。
      【解决方案6】:

      在我的回答中,我将专注于通过 X 资源设置默认字体大小。提到~/.Xdefaults的答案中已经提到了X资源的使用;我会给出更多细节(我已经在https://unix.stackexchange.com/a/426914/4319中描述过。除了Emacs中“默认”“face”的高度外,还可以类似地设置其他字体参数。

      要为 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 资源的想法——用 @987654342 显示@; 以便远程 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 资源的默认面的属性,例如在我上面的示例中。这是fixed,从 24.4 开始。

      【讨论】:

        【解决方案7】:

        只需按M-x,然后输入set-frame-font。将显示您机器中存在的所有可用字体。

        选择你要找的那个。我用这种方式简单地改变了我的 Emacs 中的字体类型;而不是更改.spacemacs.emacs 文件。

        【讨论】:

          【解决方案8】:

          我在init.el 中有以下设置:

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

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

          【讨论】:

          • 在 Ubuntu 20.04.2 emacs 27.2 上例如:(set-face-attribute 'default nil :font "Ubuntu Medium" :height 160)。使用M-x menu-set-font 弹出一个窗口并查看您安装的可用字体。
          【解决方案9】:

          Emacs 方式

          1. M-x customize-group
          2. 输入faces
          3. 点击“基本面孔”
          4. 打开/展开“默认”
          5. 更改字体名称(如“Inconsolata”)并取消选择“foundry”
          6. 点击“应用并保存”

          【讨论】:

          • 是什么使它成为 Emacs 的方式,特别是?
          猜你喜欢
          • 2011-12-13
          • 2011-03-21
          • 2010-11-18
          • 2012-06-12
          • 2014-09-27
          • 2010-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多