我知道我可以使用C-x C- +放大/缩小,但这仅适用于当前文件。一旦我打开另一个文本,文本就会回到默认值,并且一遍又一遍地执行它真的很烦人。如何为当前的emacs会话保持全局缩放级别?
我知道如果你知道确切的字体大小,我可以在init文件中设置它,我不知道。另外,我不想让它永久保存 - 我通常需要这个,当我没有外部屏幕几个小时或连接到投影仪同时进行演示时。
答案 0 :(得分:9)
这段代码修改了放大/缩小功能,以将命令应用于每个缓冲区。这应该达到你要做的目的。
(defadvice text-scale-increase (around all-buffers (arg) activate)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
ad-do-it)))
答案 1 :(得分:7)
此处提供的所有答案以及更多内容均可在此处获得 EmacsWiki页面专门讨论setting and changing font size的问题,包括逐步更改它。
@ abo-abo的回答是正确的,无论是否 你认为他在示例代码中使用的大小太大了,而且 无论解决方案是否解决增量问题 调整。
@juanleon的答案基本上使文本缩放模拟 更改默认字符大小(@ abo-abo的答案)。
文本缩放的目的是缩放缓冲区文本(一个缓冲区,没有 它显示的地方),而不是框架文本(所有缓冲区显示在 框架)。但是,如果您希望所有缓冲区都具有其文本大小 在给定的框架中更改,然后没有理由打扰文本 在这种情况下缩放:只需更改字体大小。
你可以做其中之一或两者(在任何地方缩放缓冲文本或缩放
框架),并使用相同的命令逐步执行,如果您使用
来自库的命令zoom-in/out
zoom-frm.el
另一方面,如果你确实想要逐步改变
所有帧中的所有缓冲区的文本大小,那么最好的方法是
(1)@ juanleon的建议或(2)逐步缩放标准面部
的 default
强>
要执行后者,您可以使用命令zoom-all-frames-in
和
库中的zoom-all-frames-out
zoom-frm.el
答案 2 :(得分:5)
只需将其粘贴到*scratch*
并进行评估(使用 C-j 或 C-x C-e ):
(set-face-attribute 'default nil :height 150)
将它放在init文件中没有错 如果你不需要它,可以在以后评论它。
答案 3 :(得分:5)
可以使用处理此确切问题的小模式缩放所有文本(包括状态行和行号):purcell/default-text-scale。它可以在Melpa中找到。
这会缩放所有文本以避免文本比例不匹配,例如填充列指示符的行号错误地偏移。
此处的其他答案要么对新缓冲区不起作用,要么需要过多的手动干预。
答案 4 :(得分:0)
在演示时连接到投影仪。
还有另一个包!
从网站引用
它也有来自其他类似模式/包的description of differences。