绑定键以增加/减少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中的字体大小的主要内容,如果未能解决你的问题,请参考以下文章