Utilisation simple de l'éditeur Emacs


Le programme Emacs est l'é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.

Lancement

On lance l'éditeur par la commande :
emacs &
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.

Ouvrir un fichier

Dans le menu Files, Open File déplace le curseur dans la zone située tout en bas de la fenêtre Emacs. Vous devez alors entrer le nom du fichier (éventuellement nouveau) à ouvrir, éventuellement accompagné de son chemin d'accès (par défaut, il s'agit du répertoire depuis lequel vous avez lancé Emacs).

Structure de l'écran

La fenêtre de l'éditeur se décompose en :

Sauver dans un fichier

Dans le menu Files, Save Buffer et Save Buffer as. 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 Buffer as permet de la sauver dans le fichier dont on entre le nom au clavier. Save Buffer sauve le buffer dans le fichier déjà ouvert. Dans le même menu, on trouve aussi Exit Emacs pour fermer l'éditeur.

Copier/coller

Lorsqu'il est lancé dans l'environnement X Window, Emacs permet de réaliser toutes les fonctions d'édition de base "à la souris", notamment :

L'indentation

Quand vous êtes en mode Java, Emacs peut indenter automatiquement votre code. Il suffit de taper TAB et la ligne où se trouve le curseur s'indente automatiquement. Si vous avez l'impression que Emacs indente mal, c'est que vous avez un problème dans votre code (accolade ou parenthèse fermante manquante...).

Fenêtres graphiques multiples

On peut ouvrir une nouvelle fenêtre graphique à l'aide de Make New Frame dans le menu Files. Ceci permet d'ouvrir plusieurs fichiers simultanément. Delete Frame ferme la fenêtre graphique dans laquelle se trouve le curseur.

Utilisation avancée : les commandes au clavier

Dans le menu Files, par exemple, à côté de Save Buffer on voit C-x C-s entre parenthèses. 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, 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. Les trois dernières sont particulièrement utiles quand on édite des programmes.

CommandeAction
C-x C-sSauver
C-x C-cQuitter
C-aVa en début de ligne
C-eVa en fin de ligne
C-dDétruit le caractère
C-kDétruit le reste de la ligne
M-bRecule d'un mot
M-fAvance d'un mot
M-dCoupe le reste du mot
C-espacePose 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)
M-/complète la chaîne de caractères courante par la dernière rencontrée dans le buffer
M-x goto-lineva à la ligne dont le numéro est spécifié


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

Autres fonctionnalités

On trouvera une description de fonctionnalités plus poussées d'Emacs par exemple dans le tutorial pour le programmeur de Y. Padioleau



Dernière mise à jour : 25/04/2009

Pour tout commentaire : Anne [point] Canteaut [arobase] inria [point] fr