Тимчасово регулювати розмір тексту в рядку режиму та мінібуфері?


10

Під час роботи з іншими людьми навколо спільного монітора або за допомогою екрана (наприклад, Google Hangout) я часто використовую text-scale-adjust( C-x C-+), щоб інші могли легше читати мій екран.

Мені б хотілося також тимчасово збільшити розмір тексту рядка режиму та мінібуфера у вибраному кадрі. Чи існує така спроможність вже? Якщо ні, то я можу розгадати, як написати це сам ... врешті-решт.

Відповіді:


9

Масштабування тексту збільшує текст певного буфера скрізь, де відображається буфер.

Що ви хочете зробити, це масштабування певного кадру, а не просто масштабування тексту певного буфера.

Команди zoom-in, zoom-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, масштабування буфер всюди , де вона відображається, або ж вони можуть збільшити весь один кадр (все його вікна, в тому числі minibuffers; його режим лінію; його смугу прокрутки; і т.д.).

Натисніть C-uбудь-коли під час використання цих команд, щоб перемикатися між масштабуванням буфера та масштабуванням кадру . Тип масштабування (буфер або кадр), який ви отримуєте за замовчуванням, визначається опцією zoom-frame/buffer. C-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-=приставку на все, що вам подобається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.