【发布时间】:2013-09-17 23:01:06
【问题描述】:
我知道我可以使用 C-x C-+ 放大/缩小,但这仅适用于当前文件。一旦我打开另一个,文本就会回到默认值,一遍又一遍地做真的很烦人。如何保持当前 emacs 会话的全局缩放级别?
如果您知道确切的字体大小,我知道可以在 init 文件中设置它,但我不知道。另外,我不想让它永久保存——当我几个小时没有外接屏幕或在演示时连接到投影仪时,我通常需要这个。
【问题讨论】:
我知道我可以使用 C-x C-+ 放大/缩小,但这仅适用于当前文件。一旦我打开另一个,文本就会回到默认值,一遍又一遍地做真的很烦人。如何保持当前 emacs 会话的全局缩放级别?
如果您知道确切的字体大小,我知道可以在 init 文件中设置它,但我不知道。另外,我不想让它永久保存——当我几个小时没有外接屏幕或在演示时连接到投影仪时,我通常需要这个。
【问题讨论】:
在进行演示时连接到投影仪。
还有另一个包!
引用自网站
M-x presentation-mode 开始演示。C-x C-+ 或C-x C-- 调整比例大小
见https://www.gnu.org/software/emacs/manual/html_node/emacs/Text-Scale.html
M-x presentation-mode。M-x presentation-mode,将再现最后的刻度。presentation-default-text-scale。它也有来自其他类似模式/包的description of differences。
【讨论】:
可以使用处理这个确切问题的小模式来缩放所有文本(包括状态行和行号):purcell/default-text-scale。它在 Melpa 中可用。
这会缩放所有文本以避免文本比例不匹配,例如填充列指示符的行号偏移不正确。
这里的其他答案要么不适用于新缓冲区,要么需要太多人工干预。
【讨论】:
所有这里给出的答案,以及更多,都可以在 EmacsWiki 页面专门讨论 setting and changing font size 的问题,包括逐步更改它。
@abo-abo 的答案是正确的,无论是否 您认为他在示例代码中使用的尺寸太大,并且 不管解决方案是否不解决增量 调整。
@juanleon 的回答本质上是模拟文本缩放 更改默认字符大小(@abo-abo 的回答)。
文本缩放的重点是缩放缓冲区文本(一个缓冲区,没有 不管它在哪里显示),而不是 frame 文本(所有缓冲区显示在 框架)。但是,如果您希望所有缓冲区都具有其文本大小 在给定的框架中更改然后没有理由打扰文本 在这种情况下缩放:只需更改字体大小。
你可以做一个或两个(在任何地方缩放缓冲区文本或缩放一个
框架),并使用相同的命令增量执行此操作,如果您使用
来自库的命令zoom-in/out
zoom-frm.el.
另一方面,如果您确实想逐步更改
所有帧中所有缓冲区的文本大小,那么最好的方法是
(1)@juanleon 的建议或(2)增量缩放标准脸
default。
要执行后者,您可以使用命令zoom-all-frames-in 和
zoom-all-frames-out 在图书馆
zoom-frm.el
【讨论】:
这段代码修改了放大/缩小功能以将命令应用于每个缓冲区。这应该可以实现您正在尝试做的事情。
(defadvice text-scale-increase (around all-buffers (arg) activate)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
ad-do-it)))
【讨论】:
text-scale-mode-amount 或其他东西 - 我真的不知道 elisp。
只需将其粘贴到 *scratch* 并评估(使用 C-j 或 C-x C-e):
(set-face-attribute 'default nil :height 150)
把这个放到init文件里没有错 并在以后不需要时将其注释掉。
【讨论】: