emacs放大/缩小


86

有没有办法在emacs上进行放大和缩小(相当平滑地动态更改字体大小)?


1
也适用于emacs 24
Matt

Answers:


138

尝试C-x C-+C-x C--;也就是说,Control- x Control- Minus/ Control- Plus

一种组合(C-x C-+C-x C--)之后,可以连续+-增大或减小文本比例,而无需C-x C-再次键入。

泽瓦加法

我查找了分配给上述键的函数,发现它们是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)。
sawa

2
(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

3
Sawa的上/下轮命令对我不起作用,但是这个命令可以:(global-set-key (kbd "C-<wheel-up>") 'text-scale-increase) (global-set-key (kbd "C-<wheel-down>") 'text-scale-decrease)
jule64

看来minus必须来自打字机键,而不是数字键盘。
Viesturs '18

8

user173973的“非常好”答案是将功能绑定到非通用鼠标事件。也就是说,例如在我的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上。)
Brady Trainor 2014年

2
现在,我已经从Xah Lee的博客中获得了成功(kbd "<C-wheel-up>")。特别是,请用描述键C-h k ctrl+scroll-up
布雷迪训练师,2014年

对于我(在Unix上),这不起作用。只有@sawa的答案有效。
bastian '18

1

这个配置对我有用:

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

[C-wheel-up]活动也对我有用。但是,我发现[CS-wheel-up]更谨慎,因为默认情况下尚未分配。
rm -rf
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.