如何在Emacs中设置默认字体?


31

我无法将Inconsolata设置为Emacs 24.4 Linux中的默认字体。

  • 我在菜单->保存选项中更改了字体。字体已更改,但重新启动后的字体与默认设置相同。
  • 将此添加到~/.XresourcesEmacs.font: Inconsolata LGC

    然后在init.el(set-default-font "Inconsolata LGC")。相同的故事。

我做错了什么?


如果您在设置字体时可以使用该字体,但是下次加载emacs时该字体又消失了,则可能是自定义设置被保存(或不保存)到的一个问题。
nispio

我将emacsclient与作为守护程序启动的emacs一起使用。我更改init.el中的设置,保存后重新启动守护程序。
2014年

2
这是特定于Emacs 24.4吗?IOW,您在另一个构建/发行版中得到不同的行为吗?如果不是,请考虑删除对24.4的引用。
Drew

由于您将emacs作为守护程序启动,因此请检查对的所有控制台输出,emacs --daemon并确保没有错误消息。
nispio

我在init.el:(set-frame-font“ Ubuntu Mono 11”)
thdox 2015年

Answers:


29

我在使用Emacs for OSX的.emacs中具有以下内容:

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 130 :width normal :family "Inconsolata")))))

设定字型

如果在图形环境中运行Emacs,最简单的方法是使用菜单设置字体。从菜单中使用“选项->设置默认字体...”。

现在,您还没有完成操作,因为您只是临时更改了字体。我知道的最简单的方法是使用自定义模式。

M-x customize-face RET default RET

现在更改您想要更改的选项(如果有)。如果您已经使用菜单更改了字体,则应该在此处看到所做的更改。

保存到您的初始化文件

通过以下方式保存以备将来使用:

  • 单击状态按钮,然后选择保存以备将来使用

要么

  • C-x C-s 而在自定义缓冲区中 应该做同样的事情,但并不总是有效,例如(set-default-font "Inconsolata")

如果其他所有方法都失败了...

您可能对设置字体页面感到幸运。


16

我在init.el中使用它:

;; Set default font
(set-face-attribute 'default nil
                    :family "Source Code Pro"
                    :height 110
                    :weight 'normal
                    :width 'normal)

您可以尝试使用Inconsolata代替Source Pro。


在init.el中添加了它。重新启动后,默认情况下仍为字体。
Maglight 2014年

您是否键入了“ InconsolataLGC”,而在“ Inconsolata”和“ LGC”之间没有空格?
Boccaperta-IT 2014年

是的,我也尝试将其设置为Terminus。
Maglight 2014年

1
尝试fc-cache -fv从终端运行。也许字体缓存不是最新的。我尝试设置Anonymous Pro,它在我的系统上有效。
Boccaperta-IT 2014年

谢谢,但这没有帮助。我可以设置此字体,但是Emacs不会在以后的会话中保存它。
Maglight 2014年

12

如果您在.Xresources文件中进行了更改,则需要重新读取该文件以查看当前会话中的任何更改。

  • 保留旧的资源设置并应用新的资源:

    xrdb -merge ~/.Xresources
    
  • 丢弃旧资源并仅应用.Xresources中的设置:

    xrdb ~/.Xresources
    

.Xresources文件中的调整效果更好,因为它们是在映射emacs的X11窗口之前应用的。初始化文件(.emacs,.emacs.d /)中的自定义将重新应用于已创建的窗口。例如,您可以在添加时避免启动时工具栏“闪烁”

! UI elements
Emacs.menuBar: 0
Emacs.toolBar: 0
Emacs.verticalScrollBars: off
! Font settings
Emacs.FontBackend: xft,x
Emacs.font: Inconsolata LGC:size=16

到您的.Xresources文件。

您可以在https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.html上查看其他可用内容


5

每当我想尝试其他字体(将其放入init.el或.emacs文件中)时,这始终有效:

(push '(font . "Inconsolata") default-frame-alist)

要么

(add-to-list 'default-frame-alist '(font . "Inconsolata"))

在这种情况下,两个表达式都是等效的。

简而言之,这些形式为当前和所有未来的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.