增加/减少emacs帧中的字体大小(不仅仅是缓冲区)

增加/减少emacs帧中的字体大小(不仅仅是缓冲区),emacs,Emacs,使用C-x C-+和C-x C-文本比例调整可以非常方便地在一个缓冲区中增加/减少字体大小。当几个人在同一个显示器前一起工作时,这可以很好地减少头部碰撞 有没有一种方法可以在一帧或所有帧中同时增加和减少字体大小?我想知道是否有比1-在每个新缓冲区中重新键入C-x C-+更快的方法,2-调用M-x x-select-font并使用鼠标进行选择,3-在临时缓冲区中运行elisp代码更快的方法 更新: 如果您不仅对上述1-3项感兴趣,而且对以下内容感兴趣: 4- Keep the size (and

使用C-x C-+和C-x C-文本比例调整可以非常方便地在一个缓冲区中增加/减少字体大小。当几个人在同一个显示器前一起工作时,这可以很好地减少头部碰撞

有没有一种方法可以在一帧或所有帧中同时增加和减少字体大小?我想知道是否有比1-在每个新缓冲区中重新键入C-x C-+更快的方法,2-调用M-x x-select-font并使用鼠标进行选择,3-在临时缓冲区中运行elisp代码更快的方法

更新:

如果您不仅对上述1-3项感兴趣,而且对以下内容感兴趣:

4- Keep the size (and position) of the frame still.
然后看问题。

请参阅,或获取更一般的解释:

请参见有关的Emacs Wiki页面

它告诉您几种方法,包括来自库的命令和


特别是,单个命令“放大/缩小”可用于放大或缩小帧或缓冲区。前者:缩放一帧,这是您所要求的。

这不是最正确的方法,我过去曾使用这些函数逐帧调整大小:

在这种情况下,可以通过更改默认面的:height属性来完成

取消缩放帧和可选n帧amt 将文本的默认大小在帧内增加N倍。 N可以作为前缀arg给出。 金额将默认为10。 框架将默认为选定的框架。 交互式p 让帧或帧选定帧 高度+面属性默认值:高度帧*n或金额10 设置面属性“默认帧:高度” 当调用-interactive-p时 消息集框架的默认文本高度为%d。身高 取消缩放帧和可选n帧金额 使用-N调用“缩放帧”。 交互式p 缩放帧-n帧amt 全局设置关键帧kbd C-C z i'缩放帧 全局设置关键帧kbd C-C z o'缩小帧 这将缩放整个框架,而不仅仅是文本,因此它将在桌面上收缩或增长,可能超出可见性范围,需要从操作系统中重新绘制


另一个可能的解决方案是,我可以研究一下,将一个帧局部变量设置为所需的高度,并使用每次选择缓冲区时运行的钩子将该缓冲区中的文本重新显示为所需的帧大小。除非在两个帧上显示缓冲区,否则这将正常工作。

根据@Jordon Biondo的回答,这是一个替代解决方案,通过使用参数KEEP-size等于t的set frame font来解决更改帧大小的附带效应

;; 调整整个框架的大小,而不仅仅是窗口 ;; 改编自https://stackoverflow.com/a/24714383/5103881 defun acg/缩放帧和可选amt帧 按金额增加帧字体大小。默认为“选定” 如果帧为零,则为帧;如果金额为零,则为1。 交互式p 让*帧或帧选定帧 字体面属性的默认值:字体框 大小字体获取字体:大小 金额或金额1 新尺码+尺码金额 设置边框字体规格:大小新大小t`,边框 消息框的字体新大小:%d新大小 除雾acg/缩小帧和可选amt帧 使用负参数调用“acg/zoom frame”。 交互式p acg/缩放帧-或amt 1帧 全局设置关键帧kbd C-x C-='acg/缩放帧 全局设置关键帧kbd C-x C-“acg/缩小帧” 全局设置关键帧kbd'acg/缩放帧 全局设置关键帧kbd'acg/缩小帧
不,文本缩放不是帧缩放。全局文本缩放只是应用于所有缓冲区的缓冲区缩放。帧和缓冲区缩放是两件不同的事情。有关差异的信息,请参见第二个链接。这三个链接都无法通过Melpa获得。是否应该咬紧牙关,只需手动安装每个依赖项就可以了?@Calaf:如果想使用这些库,可以。图书馆免费提供。手动将它们放在加载路径中的目录中并需要它们并不困难。但是如果一个人不想这样做,那么他可以不用图书馆。。这是一个天真的问题,真的。我不熟悉将某些东西放入melpa的过程,其中一个是。。。嗯。。我仍然在手动维护自己的收藏,部分原因是有时防火墙会让这成为唯一的选择。但我也一直在想,现在是2019年,我应该对设置进行现代化改造,并充分利用melpa。很高兴知道你们特别祝福这种方法不神秘,或者还没有神秘。@Calaf:如果我听起来很刺耳,我很抱歉。很抱歉给你添了麻烦。太好了!及时使用新冠病毒-19,要求人们不要仅仅因为你给他们看东西就把头伸到你的肩膀上。调整大小有点不协调,但您只需要这样做一次,直到每个人都确认他们可以清楚地看到自己的位置。