Определение размера шрифта в Emacs с помощью клавиши Ctrl и прокрутки мыши - PullRequest
14 голосов
/ 19 января 2010

notepad ++ позволяет мне увеличивать размер шрифта, когда я удерживаю клавишу Ctrl и поворачиваю среднюю кнопку прокрутки мыши для перемещения вперед.

Таким же образом, когда я удерживаю Ctrl и поворачиваю среднюю кнопку прокрутки мыши назад, размер фонда уменьшается.

Как я могу получить то же самое с Emacs?

Ответы [ 5 ]

20 голосов
/ 19 января 2010

с emacs23 вы можете добавить следующие строки в ваш .emacs.el:

(global-set-key (kbd "<C-mouse-4>") 'text-scale-decrease)
(global-set-key (kbd "<C-mouse-5>") 'text-scale-increase)
7 голосов
/ 19 января 2010

код для ответа AlexCombas :

(defun font-big ()
 (interactive)
 (set-face-attribute 'default nil :height 
  (+ (face-attribute 'default :height) 10)))

(defun font-small ()
 (interactive)
 (set-face-attribute 'default nil :height 
  (- (face-attribute 'default :height) 10)))

(global-set-key (kbd "<C-wheel-down>") 'font-small)
(global-set-key (kbd "<C-wheel-up>") 'font-big)

Редактировать: для минимального и максимального использования

(defun font-big ()
 (interactive)
 (set-face-attribute 'default nil :height 
  (min 720
   (+ (face-attribute 'default :height) 10))))

(defun font-small ()
 (interactive)
 (set-face-attribute 'default nil :height 
  (max 80
   (- (face-attribute 'default :height) 10))))
1 голос
/ 22 августа 2011

Рамка увеличения - это то, что вы хотите Я делаю именно то, что вы описываете все время. После загрузки zoom-frm.el добавьте несколько привязок, таких как эти:

    (global-set-key [S-mouse-1]   'zoom-in)
    (global-set-key [C-S-mouse-1] '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)

Смотри также: http://www.emacswiki.org/emacs/SetFonts#ChangingFontSize

1 голос
/ 19 января 2010

Попробуйте это:

(global-set-key (kbd "<C-mouse-4>") (lambda () (interactive) (text-scale-decrease 1)))
(global-set-key (kbd "<C-mouse-5>") (lambda () (interactive) (text-scale-increase 1)))
1 голос
/ 19 января 2010

Теоретически я могу дать вам ответ на этот вопрос, но кто-то более опытный, чем я, должен будет написать письмо, я просто немного занят, чтобы понять это для себя.

Если к завтрашнему дню никто не ответит, я найду книги и выясню это.

Что нужно сделать: Напишите функцию (font-big), которая делает это:

  1. font-default-size = font-default-size + 1`

  2. Затем пересмотрите все открытые буферы.

Затем привяжите функцию к клавише (карта определения ключа [C-wheel-up] 'font-big)

Затем сделайте то же самое для (font-small).

Надеюсь, я получу хотя бы частичные кредиты за идею:)

...