暂时调整模式行和迷你缓冲区中的文本大小?


10

在共享显示器上或通过屏幕共享(例如Google Hangouts)与他人合作时,我经常使用text-scale-adjustC-x C-+)让他人更轻松地阅读我的屏幕。

我希望能够在选定的帧中暂时增加模式行和迷你缓冲区的文本大小。这样的能力已经存在吗?如果没有的话,我可能会迷惑于如何自己写它……最终。

Answers:


9

文本缩放可在显示缓冲区的任何位置缩放特定缓冲区的文本。

您要做的是缩放特定的,而不仅仅是缩放特定缓冲区的文本。

命令zoom-inzoom-out以及zoom-in/out 图书馆zoom-frm.el让你做这些事情都容易和增量。

在键盘上,命令zoom-in/out就是您所需要的-用它代替text-scale-adjust

(define-key ctl-x-map [(control ?+)] 'zoom-in/out)
(define-key ctl-x-map [(control ?-)] 'zoom-in/out)
(define-key ctl-x-map [(control ?=)] 'zoom-in/out)
(define-key ctl-x-map [(control ?0)] 'zoom-in/out)

您可以绑定zoom-in,并zoom-out鼠标滚轮旋转

(global-set-key (vector (list 'control mouse-wheel-down-event)) 'zoom-in)
(global-set-key (vector (list 'control mouse-wheel-up-event))   'zoom-out)

我也绑定了这些,以便通过鼠标单击进行缩放:

(global-set-key [S-mouse-1]    'zoom-in)
(global-set-key [C-S-mouse-1]  'zoom-out)
;; Get rid of `mouse-set-font' or `mouse-appearance-menu':
(global-set-key [S-down-mouse-1] nil)

这些zoom-frm.el命令的行为类似于text-scale-adjust在显示缓冲区的位置缩放它们,或者可以缩放整个单个帧(其所有窗口,包括微型缓冲区;其模式行;其滚动条等)。

C-u使用这些命令随时在缓冲区缩放和帧缩放之间切换时可以命中。默认情况下,缩放类型(缓冲区或帧)由option定义zoom-frame/bufferC-u使用缩放命令切换选项。


5

默认C-x C-0/-/=绑定可以很好地调整字体大小。但是它们仅适用于使用它们的缓冲区。它们不会更改缓冲区外部(例如,模式行,迷你缓冲区或其他缓冲区中)的文本的字体大小。

下面的函数也会全局更改这些区域的字体大小。

您可以使用该default-font-size-pt变量为每个emacs会话设置默认字体大小。

(setq default-font-size-pt 12)

(defun modi/font-size-adj (&optional arg)
  "The default C-x C-0/-/= bindings do an excellent job of font resizing.
They, though, do not change the font sizes for the text outside the buffer,
example in mode-line. Below function changes the font size in those areas too.

M-<NUM> M-x modi/font-size-adj increases font size by NUM points if NUM is +ve,
                               decreases font size by NUM points if NUM is -ve
                               resets    font size if NUM is 0."
  (interactive "p")
  (if (= arg 0)
      (setq font-size-pt default-font-size-pt)
    (setq font-size-pt (+ font-size-pt arg)))
  ;; The internal font size value is 10x the font size in points unit.
  ;; So a 10pt font size is equal to 100 in internal font size value.
  (set-face-attribute 'default nil :height (* font-size-pt 10)))

(defun modi/font-size-incr ()  (interactive) (modi/font-size-adj +1))
(defun modi/font-size-decr ()  (interactive) (modi/font-size-adj -1))
(defun modi/font-size-reset () (interactive) (modi/font-size-adj 0))

(modi/font-size-reset) ; Initialize font-size-pt var to the default value

借助hydra软件包,可以轻松进行字体调整。

(require 'hydra)
(defhydra hydra-font-resize
    (global-map "C-M-=")
  "font-resize"
  ("-"   modi/font-size-decr  "Decrease")
  ("="   modi/font-size-incr  "Increase")
  ("0"   modi/font-size-reset "Reset to default size"))

用法示例:

  • 字体增加4点 C-M-= = = = =
  • 将字体减少6点 C-M-= - - - - - -
  • 将字体重置为设置的默认磅值 C-M-= 0
  • 您不确定要使字体变大还是变小:) C-M-= = = = - - = = - - 0 - - = =

随意将C-M-=前缀更改为您喜欢的其他名称。

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.