43

在我的终端(我有terminator)中,我可以使用组合键Ctrl +Ctrl -增加/减少字体大小。

在 emacs 中,我可以执行以下操作来设置字体高度:

(set-face-attribute 'default nil :height 70)

但我不知道如何增加/减少它。我怎样才能轻松地将它添加到我的 emacs 配置中?

4

5 回答 5

116

我想你想要C-x C-+C-x C--

于 2012-12-23T15:21:25.957 回答
17

我建议:

(global-set-key (kbd "C-+") 'text-scale-increase)
(global-set-key (kbd "C--") 'text-scale-decrease)

虽然@Stefan 提到的默认键绑定可以完成这项工作,但我也喜欢使用更常用的键绑定。顺便说一句,C-x C-=也增加了字体大小并C-x C-0恢复了默认字体大小。

于 2012-12-24T07:54:12.967 回答
15

C-x C-+并且C-x C--只给你部分答案:文本缩放缓冲区。

您可以更改给定的字体大小(跨该帧中的所有窗口/缓冲区),或者您可以更改给定缓冲区的(表观)字体大小(跨所有窗口/帧)。后者称为text scaling,它是 vanilla Emacs给你的C-x C-+C-x C--

zoom-frm.el使用相同的命令为您提供两种缩放。将相同的命令 , 绑定zoom-in/outC-x C--C-x C-+。它放大和缩小帧或缓冲区。普通前缀 arg 在缩放帧和缩放缓冲区之间切换。还将它绑定到鼠标键(我使用S-mouse-1(输入)和C-S-mouse-1(输出)以及鼠标滚轮(输入/输出)。

face-remap+.el修复了文本缩放,以便窗口大小缩小或增长以适应不断变化的文本大小,这可以释放屏幕空间。

这个 EmacsWiki 页面有更多关于这个常见问题的信息。

于 2014-02-04T14:57:23.573 回答
6

检查 purcell 的 .emacs.d 和他的字体utils

于 2012-12-23T12:59:28.067 回答
6

对于按下控制键的鼠标滚轮变化:

(global-set-key [C-mouse-4] '(lambda () (interactive) (text-scale-increase 1)))
(global-set-key [C-mouse-5] '(lambda () (interactive) (text-scale-decrease 1)))

这工作正常,但它是本地缓冲区。以下代码使用 control + 鼠标滚轮/触控板更改所有缓冲区的框架字体高度:

(defun change-font-height (delta)
  (set-face-attribute 'default 
                      (selected-frame)
                      :height (+ (face-attribute 'default :height) delta)))
(global-set-key [C-mouse-4] '(lambda () (interactive) (change-font-height +4)))
(global-set-key [C-mouse-5] '(lambda () (interactive) (change-font-height -4)))
于 2013-09-10T22:15:16.387 回答