我设置了一个emacs --daemon
,以便更快地启动emacs。我特别喜欢emacs的GUI版本,因此我使用emacsclient -c
打开新的emacs框架。
问题是,我已经更改了字体,但如果我使用emacsclient -c
启动emacs,则不会加载这些字体。然而,如果我只启动emacs
(但这将导致整个.emacs
被评估),则会应用这些字体。
所以:是否有一种方法可以在使用emacsclient -c
启动emacs时也应用我的字体设置?
简而言之,您需要使用default-frame-alist
来实现这一点。像这样:
(setq default-frame-alist '((font . "Inconsolata-dz-15")))
每次在Emacs中启动新的图形框架时,这个代码将被评估。这也是您保存其他框架相关设置的位置,例如fringe
设置等。
以下内容可能会做到你所寻找的功能。
(add-to-list 'default-frame-alist '(font . "Inconsolata-12"))
echo "Emacs.font: Monospace-10" >> ~/.Xresources
xrdb
请将Monospace-10替换为您想要使用的实际字体。
emacslient
有一个选项 -F
(--frame-parameters
),可以让您指定新创建的框架的字体。emacsclient -c -F '((font . "8x16"))' some_file
(tool-bar-mode 0)
设置为-1。这是我所做的,对于*NIX和OS X都有效。但我已经在default-frame-alist
中包含了Windows版本,不确定是否有效(我只在必要时使用Windows):(tool-bar-lines . 0)
- monotux(add-to-list 'default-frame-alist ...)
而不是(setq default-frame-alist ...)
。这对我来说很有效,不应该覆盖您的default-frame-list
,因此您可以保留自定义设置。 - Riley