【问题标题】:emacs zoom in/zoom outemacs 放大/缩小
【发布时间】:2011-07-28 20:01:09
【问题描述】:

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

【问题讨论】:

  • 也适用于 emacs 24

标签: emacs


【解决方案1】:

所有窗口

您经常需要更改字体大小,因为您要向他人展示某些内容。然后您可能希望所有窗口都放大(包括模式行)。为此,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

【讨论】:

    【解决方案2】:

    这个配置对我有用:

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

    【讨论】:

    • [C-wheel-up] 事件也对我有用。但是,我发现 [C-S-wheel-up] 更谨慎,因为它尚未默认分配。
    【解决方案3】:

    试试 C-x C-+C-x C--;即Control-x Control-Minus/Control-加号

    经过一次组合(Cx C-+ or 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必须来自打字机按键,而不是数字键盘。
    【解决方案4】:

    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描述key。
    • 对我来说(在 unix 上)这不起作用。只有@sawa 的答案有效。
    猜你喜欢
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2013-02-19
    • 2016-02-28
    • 2013-02-03
    • 2010-11-10
    相关资源
    最近更新 更多