如何设置默认字体大小?


13

我发现自己一直在缩小我正在使用的每个缓冲区的(Cx C--),以查看正在处理的更多代码行。

有没有办法在我的.emacs中设置缩放级别,而不是交互式设置?还是应该考虑设置字体大小?我一直在使用缩放,因为它是最简单/最快的解决方案,但我宁愿找到一个更永久的解决方案。使用一个相对于另一个有缺点还是优点?我不清楚这些差异。


1
怎么样?: (face-remap-add-relative 'default '((:height 300)))将其炸毁; 并(face-remap-add-relative 'default '((:height 120)))缩小?您可以根据自己的喜好更改高度。您可以将它们变成交互式功能,并将它们映射到您喜欢的键盘快捷键。要尝试使用它们,请将其粘贴到*Scratch*缓冲区中,然后将光标放在代码段的末尾,然后键入C-x C-e
lawlist

3
如果要缩小使用的几乎每个缓冲区,为什么不只设置较小的字体呢?有关该问题,请参见此SO线程

@Dan:如果问题不是关于缩放,而是实际上是关于如何设置默认字体大小的,那么应该关闭它作为您引用的问题的副本。听起来OP可能不确定在这方面要做什么:设置字体大小或缩放。
2015年

@德鲁:同意。OP:您要设置字体大小还是缩放?

1
我的答案是:在这种情况下,请参阅我在答案中引用的Emacs Wiki页面。它涵盖了有关设置字体和字体大小的所有内容,包括交互(例如缩放)和init文件(设置默认值)。它是开始的地方(可能是结束的地方)。
德鲁

Answers:


8

是。您想要的是缩放一帧(字体大小),而不管其中显示了哪些缓冲区。

请参阅库zoom-frm.el,以及有关缩放框架缩放缓冲区的这些说明。

尤其请参见command zoom-in/out,两者都可以。它默认绑定正常势必只是缓冲缩放键:C-x C-+C-x C--C-x C-0,和C-x C-=。您也可以绑定命令zoom-in,并zoom-out以鼠标滚轮旋转。C-u与这些命令中的任何一个一起使用可在帧缩放和缓冲区缩放之间切换。

除了交互式缩放框架或缓冲区外,您当然可以为所有框架设置所需的默认字体大小。

同一Emacs-Wiki页面包含有关设置字体和字体大小的更多信息。


确定要设置默认字体大小后进行更新

答案在我上面写的最后一行中:请参阅“ Emacs Wiki 设置字体”页面上的“ 全局更改默认字体”部分。它告诉您如何设置默认字体。(它还告诉您如何交互缩放字体大小。)

简而言之,将这些信息放入您的init文件中:

(add-to-list 'default-frame-alist '(font . FONT ))
(set-face-attribute 'default t :font FONT )

但是,请务必阅读该页面的整个部分,因为它可以告诉您更多信息,包括如何使用.Xresources和Emacs守护程序设置默认字体。一个例子适合的线的~/.Xresources用于设定默认字体大小是:

Emacs.default.attributeHeight: 94

我在文档中读到了,它zoom-frm.el具有保存自定义功能的能力,尽管似乎有些混乱。(我对定制界面没有做太多事情,而是希望在init文件中进行设置),我将尝试一下。
2015年

是的,文件注释zoom-frm.el告诉您如何保存字体更改自定义,包括如何在不使用“自定义UI”的情况下进行保存。FWIW,我建议人们确实使用Customize,但是使用一个单独的custom-file(请参见该变量),而不是让Customize将代码写入其init文件。
德鲁

11

如果要在预览和全部中使用GUI字体选择器,则可以使用M-x menu-set-font

Emacs选择一种字体


1
谢谢你,这应该是唯一推荐的答案,在这里,wiki页面上,在Aquamacs主页上!
agam

您如何使它永久化?
smonff '19

3

我正在使用它来缩放Emacs范围(不仅仅是当前缓冲区):

;; http://blog.vivekhaldar.com/post/4809065853/dotemacs-extract-interactively-change-font-size
(defun my/zoom-in ()
  "Increase font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (+ (face-attribute 'default :height)
                         10)))

(defun my/zoom-out ()
  "Decrease font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (- (face-attribute 'default :height)
                         10)))

;; change font size, interactively
(global-set-key (kbd "C->") 'my/zoom-in)
(global-set-key (kbd "C-<") 'my/zoom-out)
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.