« Emacs » : différence entre les versions

De Disposition de clavier bépo
Aucun résumé des modifications
(→‎Émuler Vim sur Emacs : Ajout de la mention de Spacemacs)
Ligne 28 : Ligne 28 :
* [[Viper-mode]] est un émulateur de vi inclus dans Emacs
* [[Viper-mode]] est un émulateur de vi inclus dans Emacs
* [[Evil]] le dernier émulateur en date, très performant. Émule vim.
* [[Evil]] le dernier émulateur en date, très performant. Émule vim.
* [http://spacemacs.org/ Spacemacs], module cherchant à combiner les forces d’Emacs et de vim, prend en charge le bépo en plus du qwerty


Combiner Evil et key-chord permet ainsi de bénéficier de la puissance des nombreuses fonctions simplifiant considérablement l’édition sous Emacs sans jamais recourir, ou presque, aux touches Controle ou Meta. Bref, de combiner les points forts d’Emacs et de vim…
Combiner Evil et key-chord permet ainsi de bénéficier de la puissance des nombreuses fonctions simplifiant considérablement l’édition sous Emacs sans jamais recourir, ou presque, aux touches Controle ou Meta. Bref, de combiner les points forts d’Emacs et de vim…

Version du 15 mai 2016 à 12:41

Emacs est sans doute avec Vim ce qui se fait de mieux en matière d’éditeur de texte — petit rappel: à la différence d’un traitement de texte, un éditeur manipule un fichier provisoire qui remplace le fichier d’origine à chaque sauvegarde. Là où cela se corse, c’est quand il faut choisir le sien… Pour résumer, on peut dire qu’Emacs a une approche plus traditionnelle, tandis que Vim est un éditeur modal: il faut taper a ou i avant de pouvoir insérer du texte, ce qui est très déroutant pour le débutant mais plus ergonomique à la longue.

La philosophie des deux projets diffère aussi : Emacs est rédigé en C et Emacs Lisp, un langage qui permet de rajouter de nombreuses et puissantes extensions, au point que l’on peut utiliser Emacs comme daemon, lui faire lire le mail, gérer les fichiers, jouer à tetris etc. Selon l’adage courant, Emacs peut tout faire, même le café… Vim permet d’effectuer aussi de nombreuses opérations (comme appeler des commandes externes, etc.) mais il s’agit justement d’opération externes et le programme se concentre sur sa tâche N.1: écrire du texte. Vim est donc plus léger et démarre plus vite qu’Emacs.

Emacs et l’ergonomie

Le bépoiste s’intéressant plus ou moins à l’ergonomie, il constate assez vite, surtout s’il envisage d’acheter un clavier ergonomique, qu’Emacs n’est pas vraiment optimisé dans ce domaine. Les touches Controle (C) et Méta (M) — sollicitée en appuyant sur escape ou par un Alt- — sont fréquemment sollicitées. Dans la folklorique guerre des éditeurs, les détracteurs d’Emacs disent d’ailleurs que ce dernier est un acronyme pour Escape Meta Alt Control Shift… Les doubles raccourcis clavier du type C-X C-S sont plutôt la norme. Pour améliorer l’érgonomie d’Emacs, la communauté bépoïste a exploré plusieurs pistes:

Adapter des raccourcis clavier au bépo

Première solution, adapter les raccourcis standards, tout en continuant à utiliser les touches controle et Méta: c’est ce que proposent

Déplacer la touche « Control » sur la 105ème touche du clavier

Et pourquoi pas déplacer la touche « Control » ? Ctrl105

Raccourcis clavier sans utiliser les touches Controle et Meta

C’est possible avec l’extension key-chord de David Andersson.

Émuler Vim sur Emacs

Cela peut sembler incongru : pourquoi ne pas utiliser directement Vim? Parce que l’on peut préférer certains modes d’Emacs, comme auctex pour LaTeX, à leur équivalent Vim.

  • Viper-mode est un émulateur de vi inclus dans Emacs
  • Evil le dernier émulateur en date, très performant. Émule vim.
  • Spacemacs, module cherchant à combiner les forces d’Emacs et de vim, prend en charge le bépo en plus du qwerty

Combiner Evil et key-chord permet ainsi de bénéficier de la puissance des nombreuses fonctions simplifiant considérablement l’édition sous Emacs sans jamais recourir, ou presque, aux touches Controle ou Meta. Bref, de combiner les points forts d’Emacs et de vim…

Utiliser la touche espace comme autre touche « Control »

C'est possible avec At Home Modifier. Lorsque la barre d'espace est pressée en combinaison avec une autre touche, elle agit comme « Control »; seule, elle agit normalement. Par exemple, « espace + x » sera traduit en « control + x ».

Utiliser la touche CAPS LOCK comme touche « Control »

Gnome 3 et sans doute d’autres environnements permettent assez simplement de réorganiser les touches comme suit :

  • La touche CAPS LOCK devient un autre CTRL
  • Les deux touches SHIFT pressés simultanément activent/désactivent le vérouillage des majuscules.

Dans Gnome 3 les deux options sont accessibles par gnome-tweak-tool (rubrique « typing » si comme moi vous l’avez en anglais).

Ceci est assez pratique non seulement pour Emacs mais également pour les raccourcis usuels impliquant CTRL (CTRL+C, CTRL+V…).