Ответ 1
Я думаю, что вы хотите C-x C-+
или C-x C--
.
В моем терминале (terminator) я могу использовать комбинации клавиш Ctrl + и Ctrl - для увеличения/уменьшения размер шрифта.
В emacs я могу сделать следующее, чтобы установить высоту шрифта:
(set-face-attribute 'default nil :height 70)
Но я не знаю, как увеличить/уменьшить его. Как я могу легко добавить это в мою конфигурацию emacs?
Я думаю, что вы хотите C-x C-+
или C-x C--
.
Я бы предложил:
(global-set-key (kbd "C-+") 'text-scale-increase)
(global-set-key (kbd "C--") 'text-scale-decrease)
В то время как ключевые слова по умолчанию, упомянутые @Stefan, выполняют эту работу, мне также нравятся более распространенные привязки клавиш. Btw, C-x C-= также увеличивает размер шрифта, а C-x C-0 восстанавливает размер шрифта по умолчанию.
C-x C-+
и C-x C--
дает вам только часть ответа: текстовое масштабирование буфера.
Вы можете изменить размер шрифта для данного фрейма (для всех окон/буферов в этом фрейме), или вы можете изменить (видимый) размер шрифта для заданного буфера (через все окна/фреймы).
Последнее называется масштабированием текста, и это то, что дает вам ваниль Emacs C-x C-+
и C-x C--
.
Библиотека zoom-frm.el
дает вам оба вида масштабирования с помощью той же самой команды. Привяжите ту же команду, zoom-in/out
, к C-x C--
и C-x C-+
. Он масштабирует либо фрейм, либо буфер, вход и выход. Обычный префикс arg переключает между масштабированием кадров и масштабированием буферов. Привяжите его также к клавишам мыши (я использую S-mouse-1
(in) и C-S-mouse-1
(out) и к колесу мыши (в/из).
Библиотека face-remap+.el
исправляет масштабирование текста, чтобы размер окна уменьшался или увеличивался с учетом изменения размера текста, что может освободить экран реального времени недвижимости.
Эта страница EmacsWiki содержит больше информации об этом часто задаваемом вопросе.
И для изменения колесика мыши с нажатой клавишей управления:
(global-set-key [C-mouse-4] '(lambda () (interactive) (text-scale-increase 1)))
(global-set-key [C-mouse-5] '(lambda () (interactive) (text-scale-decrease 1)))
Это работает нормально, но он буферизуется локально. Следующий код изменяет высоту шрифта фрейма для всех буферов с контролем + колесом мыши/трекпадом:
(defun change-font-height (delta)
(set-face-attribute 'default
(selected-frame)
:height (+ (face-attribute 'default :height) delta)))
(global-set-key [C-mouse-4] '(lambda () (interactive) (change-font-height +4)))
(global-set-key [C-mouse-5] '(lambda () (interactive) (change-font-height -4)))
Проверьте purcell.emacs.d и его шрифт utils.