有没有办法在emacs上放大和缩小(动态改变字体大小,非常流畅)?
试试 Cx C-+ 和 Cx C--;即Control-x Control-Minus/Control-Plus。
在一个组合(Cx C-+ 或 Cx C--)之后,连续 + 或 - 增加或减少文本比例,而无需再次键入 Cx C-。
由sawa添加
我查看了分配给上述键的功能,发现它们是 text-scale-increase
和 text-scale-decrease
。我将以下内容添加到我的配置文件中,以便我可以执行 Ctrl+Scroll 来放大/缩小。它是有益的。
(global-set-key [C-mouse-4] 'text-scale-increase)
(global-set-key [C-mouse-5] 'text-scale-decrease)
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 上。)
(kbd "<C-wheel-up>")
上取得了成功。特别是,用 C-h k ctrl+scroll-up
描述键。
这个配置对我有用:
(global-set-key [C-wheel-up] 'text-scale-increase)
(global-set-key [C-wheel-down] 'text-scale-decrease)
所有窗户
您经常想要更改字体大小,因为您正在向其他人展示某些内容。然后您可能希望所有窗口都放大(包括模式行)。为此,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
。
不定期副业成功案例分享
(text-scale-set LEVEL)
。例如,我默认使用它来减小 ibuffer 中的字体大小:(add-hook 'ibuffer-mode-hook 'my-ibuffer-mode-hook) (defun my-ibuffer-mode-hook () (text-scale-set -1))
(global-set-key (kbd "C-<wheel-up>") 'text-scale-increase)
(global-set-key (kbd "C-<wheel-down>") 'text-scale-decrease)
minus
必须来自打字机键,而不是数字键盘。