Utilisation simple de l'éditeur Emacs


Le programme Emacs est un éditeur de texte recommandé pour l'enseignement. Il est très utilisé pendant les travaux dirigés de programmation mais, plus généralement, il peut servir à créer ou modifier tout fichier texte. Pour les débutants, il est toutefois préférable de commencer par Nedit, cf. L'éditeur Nedit .

Lancement

On peut lancer l'éditeur sans argument mais il est préférable de le lancer par une commande du style :
emacs Toto.java &
Dans cet exemple, on est tout de suite en édition du fichier Toto.java et dans un contexte adapté à la programmation en Java. Le caractère & qui est à la fin de la commande sert à la lancer en "arrière-plan", ce qui libère le terminal pendant l'édition et permet d'entrer d'autres commandes, pour la compilation par exemple, cf. Contrôle des processus .

Utilisation "à la souris"

Lorsqu'il est lancé dans l'environnement X Window, Emacs permet de réaliser toutes les fonctions d'édition de base "à la souris", cf. Utilisation simple de l'environnement KDE , notamment : En particulier, dans le menu Files, on trouve Exit Emacs et Save (current buffer). Dans la terminologie d'Emacs, le buffer est la zone de mémoire qui contient la version du texte en cours d'édition et Save permet de sauver le contenu du buffer dans le fichier.

Les commandes Emacs

Dans le menu Files, par exemple, à côté de Save (current buffer) on voit C-x C-s entre parenthèses. Cela indique un raccourci clavier. Il s'agit en fait de la vraie commande Save Buffer, Emacs ayant été conçu initialement pour une utilisation tout au clavier.
C-x C-s représente la séquence de touches "Control x Control s", ie. la touche Ctrl étant enfoncée, on appuie successivement sur les touches x puis s.
De manière similaire, on retiendra vite que C-x C-c permet de quitter Emacs.

Il y a aussi des commandes Meta, par exemple M-v qui remonte d'une page. Une commande Meta s'obtient avec la touche Alt qui s'utilise comme Ctrl.
Si le clavier ne comporte pas de touche Meta, on peut utiliser la touche Escape, par exemple, M-v s'obtient aussi par la séquence de touches "Escape v", ie. on appuie successivement sur les touches Esc puis v.

Apprendre ces commandes peut sembler un rébarbatif mais, avec un peu d'expérience, elles procurent un gain de temps appréciable. De plus, un certain nombre d'entres elles sont des raccourcis que l'on retrouve dans d'autres applications. Voici quelques commandes de base qui sont également reconnues par l'interpréteur de commandes bash et par les boîtes de saisie de l'interface X Window :

CommandeActionmnémonique
C-bRecule d'un caractèrebackward
C-fAvance d'un caractèreforward
C-aVa en début de ligne
C-eVa en fin de ligneend
C-pRemonte d'une ligneprevious
C-nDescend d'une lignenext
C-dDétruit le caractèredelete
C-kDétruit le reste de la lignekill

Voici quelques autres commandes plus spécifiques :

CommandeAction
M-bRecule d'un mot
M-fAvance d'un mot
M-dCoupe le reste du mot
M-vRemonte d'une page
C-vDescend d'une page
M-<Va en début de buffer
M->Va en fin de buffer
C-@Pose la "marque" (invisible)
C-wCoupe depuis ou jusqu'à la marque
M-wCopie depuis ou jusqu'à la marque
C-yColle le dernier bloc coupé ou copié
C-_Défait la dernière commande (aussi loin que l'on veut)

Enfin, il est bon de se souvenir que C-g qui interrompt toute commande en cours et permet ainsi de se sortir d'une situation confuse.


URL: https://www.enseignement.polytechnique.fr/profs/informatique/Philippe.Chassignet/INIT/p21.html

Pour toutes suggestions, commentaires ou remarques, email : Philippe.Chassignet@polytechnique.fr