emacs zoom avant / zoom arrière

86

Existe-t-il un moyen de zoomer et dézoomer (changer dynamiquement la taille de la police, assez facilement) sur emacs?

Sawa
la source
1
Fonctionne également sur emacs 24
Matt

Réponses:

138

Essayez C-x C-+et C-x C--; c'est-à-dire Control- x Control- Minus/ Control- Plus.

Après une combinaison ( C-x C-+ou C-x C--), successives +ou -augmenter ou diminuer l'échelle du texte sans taper à C-x C-nouveau.

Ajout par sawa

J'ai recherché la fonction attribuée aux touches mentionnées et j'ai découvert qu'elles étaient text-scale-increaseet text-scale-decrease. J'ai ajouté ce qui suit à mon fichier de configuration pour que je puisse faire Ctrl+ Scrollpour zoomer / dézoomer. C'est utile.

(global-set-key [C-mouse-4] 'text-scale-increase)
(global-set-key [C-mouse-5] 'text-scale-decrease)
sawa
la source
Merci, cela a aidé. Je vais essayer de l'assigner à la molette de défilement (peut-être avec Ctrl) sur la souris.
sawa
2
Vous pouvez également appeler (text-scale-set LEVEL)si vous savez à l'avance ce que vous voulez. Par exemple, j'utilise ceci pour réduire la taille de la police dans ibuffer par défaut:(add-hook 'ibuffer-mode-hook 'my-ibuffer-mode-hook) (defun my-ibuffer-mode-hook () (text-scale-set -1))
phils
Pour un zoom avant et arrière en douceur, je peux utiliser les fonctions que NVM me fait savoir. Pour avoir différents modes d'affichage, la fonction phils peut être bonne.
sawa
3
La commande de montée / descente de la roue de Sawa ne fonctionne pas pour moi, mais celle-ci fonctionne:(global-set-key (kbd "C-<wheel-up>") 'text-scale-increase) (global-set-key (kbd "C-<wheel-down>") 'text-scale-decrease)
jule64
Il semble que le minusdoit provenir des touches de la machine à écrire, et non du clavier numérique.
Viesturs
8

La réponse -très gentille- de user173973 lie les fonctions à des événements de souris non génériques. C'est-à-dire que par exemple sur mon système Windows, la commande de liaison n'est pas valide.

Pour l'utiliser sur Windows (ou probablement n'importe où), vous pouvez utiliser ces liaisons génériques:

(global-set-key [C-mouse-wheel-up-event]  'text-scale-increase)
(global-set-key  [C-mouse-wheel-down-event] 'text-scale-decrease)
Peter
la source
Cela ne fonctionne pas pour moi, même avec (setq w32-pass-extra-mouse-buttons-to-system t). Des idées? (Je suis sous Windows 7.)
Brady Trainor
2
Je l'ai maintenant, du blog de Xah Lee, j'ai du succès avec (kbd "<C-wheel-up>"). Surtout, décrivez la clé avec C-h k ctrl+scroll-up.
Brady Trainor
Pour moi (sous unix) cela ne fonctionne pas. Seule la réponse de @sawa fonctionne.
Bastian
1

Cette configuration a fonctionné pour moi:

(global-set-key [C-wheel-up] 'text-scale-increase)
(global-set-key [C-wheel-down] 'text-scale-decrease)
Stacksys
la source
L'événement [C-wheel-up] a également fonctionné pour moi. Cependant, j'ai trouvé [CS-wheel-up] plus prudent car il n'est pas déjà attribué par défaut.
rm -rf