绑定键以增加/减少emacs中的字体大小

Posted

技术标签:

【中文标题】绑定键以增加/减少emacs中的字体大小【英文标题】:Bind key to increase / decrease font size in emacs 【发布时间】:2012-12-10 06:12:52 【问题描述】:

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

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

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

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

【问题讨论】:

Emacs font sizing 的可能副本。 Emacs zoom in/zoom out的可能重复 Emacs zoom in/out globally 的可能副本。 【参考方案1】:

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

【讨论】:

Steve Purcell 已将他的文本缩放实用程序纳入一个不错的小次要模式:purcell/default-text-scale。它在 Melpa 中可用。【参考方案2】:

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

【讨论】:

哇,我不知道,即使在使用 Emacs 超过 7 年之后。【参考方案3】:

我建议:

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

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

【讨论】:

FWIW:这消除了使用 C-- 作为否定前缀 arg 的可能性,这是大多数人经常使用的。 总是有M--(可以说它更容易按下,因为它只需要使用一个小指)。【参考方案4】:

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

(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)))

【讨论】:

【参考方案5】:

C-x C-+C-x C-- 只为您提供部分的答案:文本缩放缓冲区。

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

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

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

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

【讨论】:

以上是关于绑定键以增加/减少emacs中的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 鼠标滚动设置字体大小

使用 Ctrl 键和鼠标滚动调整 Emacs 字体大小

如何在安装在gentoo的emacs 24中设置字体大小

如何使用 Pan Gesture 增加/减少字体大小?

通过用户选择增加和减少 android 应用程序的字体大小

如何更改 Emacs 的默认字体大小和字体类型?