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

dan*_*ast 42 emacs elisp font-size

在我的终端(我有终结器)我可以使用组合键Ctrl +Ctrl -增加/减少字体大小.

在emacs中,我可以执行以下操作来设置font-height:

(set-face-attribute 'default nil :height 70)
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*fan 113

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

  • 哇,我不知道,即使在使用Emacs超过7年之后. (3认同)

Boz*_*sov 16

我建议:

(global-set-key (kbd "C-+") 'text-scale-increase)
(global-set-key (kbd "C--") 'text-scale-decrease)
Run Code Online (Sandbox Code Playgroud)

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

  • FWIW:这消除了使用`C - `作为否定前缀arg的可能性,这是大多数人经常使用的东西. (3认同)

Dre*_*rew 13

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

您可以更改给定的字体大小(跨该帧中的所有窗口/缓冲区),也可以更改给定缓冲区(所有窗口/帧)的(明显)字体大小.后者被称为文字缩放,并且它是什么香草的Emacs C-x C-+C-x C--给你.

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

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

此EmacsWiki页面提供了有关此常见问题的更多信息.


Ree*_*ece 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)))
Run Code Online (Sandbox Code Playgroud)

这没关系,但它是缓冲本地的.以下代码使用控件+鼠标滚轮/触控板更改所有缓冲区的帧字体高度:

(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)))
Run Code Online (Sandbox Code Playgroud)


sta*_*low 5

检查赛尔公司.emacs.d和他的字体utils的.