emacs zoom in / zoom out

86

Existe uma maneira de aumentar e diminuir o zoom (alterar dinamicamente o tamanho da fonte, de forma bastante suave) no emacs?

Sawa
fonte
1
Também funciona no emacs 24
Matt

Respostas:

138

Experimente C-x C-+e C-x C--; ou seja, Control- x Control- Minus/ Control- Plus.

Após uma combinação ( C-x C-+ou C-x C--), sucessivas +ou -aumente ou diminua a escala do texto sem digitar C-x C-novamente.

Adição por sawa

Pesquisei a função atribuída às teclas mencionadas e descobri que são text-scale-increasee text-scale-decrease. Eu adicionei o seguinte ao meu arquivo de configuração para que eu possa fazer Ctrl+ Scrollpara aumentar / diminuir o zoom. É útil.

(global-set-key [C-mouse-4] 'text-scale-increase)
(global-set-key [C-mouse-5] 'text-scale-decrease)
sawa
fonte
Obrigado, ajudou. Vou tentar atribuir isso à roda de rolagem (talvez com Ctrl) no mouse.
sawa
2
Você também pode ligar (text-scale-set LEVEL)se souber com antecedência o que deseja. Por exemplo, eu uso isso para reduzir o tamanho da fonte no ibuffer por padrão:(add-hook 'ibuffer-mode-hook 'my-ibuffer-mode-hook) (defun my-ibuffer-mode-hook () (text-scale-set -1))
phils
Para aumentar e diminuir o zoom, posso usar as funções que o nvm me informa. Por ter diferentes modos de exibição, o phils pode funcionar bem.
sawa
3
De alguma forma, o comando de roda para cima / baixo de Sawa não funciona para mim, mas este sim:(global-set-key (kbd "C-<wheel-up>") 'text-scale-increase) (global-set-key (kbd "C-<wheel-down>") 'text-scale-decrease)
jule64
Parece que o minusdeve vir das teclas da máquina de escrever, não do teclado numérico.
Viesturs
8

A resposta -muito legal- do usuário173973 é vincular as funções a eventos de mouse não genéricos. Isso quer dizer que, por exemplo, no meu sistema Windows, o comando de ligação não é válido.

Para usá-lo no Windows (ou provavelmente em qualquer lugar), você pode usar estas ligações genéricas:

(global-set-key [C-mouse-wheel-up-event]  'text-scale-increase)
(global-set-key  [C-mouse-wheel-down-event] 'text-scale-decrease)
Peter
fonte
Isso não funciona para mim, mesmo com (setq w32-pass-extra-mouse-buttons-to-system t). Alguma ideia? (Estou no Windows 7.)
Brady Trainor
2
Eu entendi agora, do blog de Xah Lee, com o qual tenho sucesso (kbd "<C-wheel-up>"). Especialmente, descreva a chave com C-h k ctrl+scroll-up.
Brady Trainor
Para mim (no Unix) isso não funciona. Apenas a resposta de @sawa funciona.
bastian
1

Esta configuração funcionou para mim:

(global-set-key [C-wheel-up] 'text-scale-increase)
(global-set-key [C-wheel-down] 'text-scale-decrease)
Stacksys
fonte
O evento [C-wheel-up] também funcionou para mim. No entanto, achei [CS-wheel-up] mais prudente, pois já não está atribuído por padrão.
rm -rf