ChatGPT解决这个技术问题 Extra ChatGPT

emacs 放大/缩小

有没有办法在emacs上放大和缩小(动态改变字体大小,非常流畅)?

也适用于 emacs 24

7
7 revs, 6 users 44%

试试 Cx C-+ 和 Cx C--;即Control-x Control-Minus/Control-Plus。

在一个组合(Cx C-+ 或 Cx C--)之后,连续 + 或 - 增加或减少文本比例,而无需再次键入 Cx C-。

由sawa添加

我查看了分配给上述键的功能,发现它们是 text-scale-increasetext-scale-decrease。我将以下内容添加到我的配置文件中,以便我可以执行 Ctrl+Scroll 来放大/缩小。它是有益的。

(global-set-key [C-mouse-4] 'text-scale-increase)
(global-set-key [C-mouse-5] 'text-scale-decrease)

谢谢,它有帮助。我将尝试将其分配给鼠标上的滚轮(可能使用 Ctrl)。
如果您事先知道自己想要什么,也可以致电 (text-scale-set LEVEL)。例如,我默认使用它来减小 ibuffer 中的字体大小:(add-hook 'ibuffer-mode-hook 'my-ibuffer-mode-hook) (defun my-ibuffer-mode-hook () (text-scale-set -1))
为了平滑放大和缩小,我可以使用 nvm 让我知道的功能。对于不同的显示模式,phils 功能可能很好。
不知何故,Sawa 的上/下轮命令对我不起作用,但这个命令:(global-set-key (kbd "C-<wheel-up>") 'text-scale-increase) (global-set-key (kbd "C-<wheel-down>") 'text-scale-decrease)
似乎 minus 必须来自打字机键,而不是数字键盘。
e
elemakil

user173973 的 -very nice- 答案是将函数绑定到非通用鼠标事件。也就是说比如在我的windows系统上,绑定命令是无效的。

要在 Windows(或可能在任何地方)上使用它,您可以使用这些通用绑定:

(global-set-key [C-mouse-wheel-up-event]  'text-scale-increase)
(global-set-key  [C-mouse-wheel-down-event] 'text-scale-decrease)

这对我不起作用,即使使用 (setq w32-pass-extra-mouse-buttons-to-system t)。有任何想法吗? (我在 Windows 7 上。)
我现在从 Xah Lee 的博客中得到了它,我在 (kbd "<C-wheel-up>") 上取得了成功。特别是,用 C-h k ctrl+scroll-up 描述键。
对我来说(在 unix 上)这是行不通的。只有@sawa 的答案有效。
S
Stacksys

这个配置对我有用:

(global-set-key [C-wheel-up] 'text-scale-increase)
(global-set-key [C-wheel-down] 'text-scale-decrease)

[C-wheel-up] 活动也对我有用。但是,我发现 [CS-wheel-up] 更谨慎,因为它尚未默认分配。
M
Micah Elliott

所有窗户

您经常想要更改字体大小,因为您正在向其他人展示某些内容。然后您可能希望所有窗口都放大(包括模式行)。为此,default-text-scale 很棒。

我这样绑定它:

(key-seq-define-global "q-" 'default-text-scale-decrease)
(key-seq-define-global "q+" 'default-text-scale-increase)

(global-set-key (kbd "C-M-_") 'default-text-scale-decrease)
(global-set-key (kbd "C-M-+") 'default-text-scale-increase)

快速单窗口,并返回

对于真正快速的重 (16 倍) 放大,您可以使用:C-u C-u C-x C-+

要进入单窗口模式,例如组织演示文稿:C-x 1

然后您可以撤消单窗口并使用 winner-undo 返回到之前的任何布局:C-c <left>

整个桌面

相关地,对于通过视频通话进行共享,最简单的方法可能是更改(降低)您的桌面分辨率。在 linux 上,我在开始共享会话之前为此弹出 arandr