Emacs

Emacs est sans doute l'éditeur de texte le plus puissant actuellement. Il peut absolument tout faire et il est extensible à l'infini grâce à son langage de programmation inclus, s'appuyant sur lisp. Avec lui, vous pouvez vous promener sur le Web, lire votre courrier, faire un tour dans les forums, quasiment faire du café ! Toutefois, nous nous limiterons de vous donner les clés pour ouvrir Emacs, éditer un ou plusieurs fichiers, les sauvegarder, et quitter Emacs. Ce qui est déjà très bien !

Brève présentation

Invoquer Emacs est relativement simple :

emacs [fichier] [fichier...]

Emacs ouvrira chaque fichier passé en argument dans un tampon jusqu'à un maximum de deux tampons visibles en même temps, et vous présentera le tampon *scratch* si vous ne spécifiez pas de fichier. Si vous êtes sous X, des menus sont également à votre disposition, mais nous apprendrons ici à manipuler Emacs à l'aide des raccourcis clavier.

Pour commencer

Il est temps de se jeter à l'eau ! Ouvrons par exemple deux fichiers, fichier1 et fichier2. Si ces deux fichiers n'existent pas, ils seront alors créés (à condition que vous écriviez quelque chose dedans) :

$ emacs fichier1 fichier2

Vous obtenez la fenêtre suivante (Figure 4.1. Emacs; : édition simultanée de deux fichiers) :

Figure 4.1. Emacs; : édition simultanée de deux fichiers

Emacs; : édition simultanée de deux fichiers

Vous pouvez constater que deux tampons ont été créés , c'est-à-dire un par fichier. Un troisième est également présent, au bas de l'écran (là où est écrit (New file)) : c'est le mini-tampon. Vous ne pouvez pas aller de vous-même dans ce tampon, il faut qu'Emacs vous y invite lors de saisies interactives. Pour changer de tampon, tapez Ctrl+x o. Vous pouvez taper du texte soit comme dans un éditeur «normal», soit en effacer avec la touche Suppr ou bien la touche Backspace.

Pour vous déplacer, vous pouvez utiliser les touches fléchées, mais aussi d'autres combinaisons : Ctrl+a pour aller en début de ligne, Ctrl+e pour aller en fin de ligne, Alt-< pour aller au début du tampon et Alt-> pour aller à la fin du tampon. Il existe de nombreuses autres combinaisons, même pour chacune des touches fléchées[11].

Dès que vous voulez enregistrer les modifications faites sur un fichier, tapez Ctrl+x Ctrl+s ou, si vous voulez enregistrer le contenu du tampon dans un autre fichier, tapez Ctrl+x Ctrl+w et Emacs vous demandera le nom du fichier dans lequel écrire le contenu du tampon. Pour ce faire, vous disposez du complément.

Manipulation des tampons

Vous pouvez, si vous le voulez, ne montrer qu'un tampon à l'écran. Vous avez deux solutions :

  • vous êtes dans le tampon que vous voulez cacher : tapez Ctrl+x 0 ;

  • vous êtes dans le tampon que vous voulez conserver à l'écran : tapez Ctrl+x 1.

Vous pouvez ensuite remettre le tampon que vous souhaitez à l'écran de deux manières :

  • tapez Ctrl+x b et rentrez le nom du tampon que vous souhaitez voir ;

  • tapez Ctrl+x Ctrl+b. Un nouveau tampon sera alors ouvert, appelé *Buffer List* ; vous pouvez vous déplacer dans ce tampon à l'aide de la séquence Ctrl+x o, sélectionner le tampon que vous souhaitez et puis appuyer sur la touche Entrée, ou bien taper le nom dans le mini-tampon. Le tampon *Buffer List* retournera en arrière-plan dès que votre choix est fait.

Si vous en avez fini avec un fichier et voulez vous débarrasser du tampon associé, tapez Ctrl+x k. Emacs vous demandera alors quel tampon il doit fermer. Par défaut, c'est le nom du tampon dans lequel vous êtes ; si vous voulez vous débarrasser d'un autre tampon que celui proposé, entrez directement son nom ou bien appuyez sur TAB : Emacs ouvrira alors à nouveau un autre tampon appelé *Completions*, indiquant la liste des choix possibles. La touche Entrée valide le choix.

Vous pouvez également à tout moment remettre deux tampons visibles à l'écran ; pour cela, tapez Ctrl+x 2. Par défaut, le nouveau tampon créé sera une copie du tampon en cours (ce qui vous permet par exemple d'éditer un gros fichier en plusieurs endroits «en même temps») et il vous suffit alors de procéder comme indiqué précédemment pour passer à un autre tampon.

Vous pouvez à tout moment ouvrir d'autres fichiers, avec Ctrl+x Ctrl+f. Emacs vous demandera alors le nom du fichier (vous disposez là aussi du complément).

Copier, couper, coller, rechercher

Supposons que nous sommes dans la situation de la Figure 4.2. Emacs, avant la copie du bloc de texte.

Figure 4.2. Emacs, avant la copie du bloc de texte

Emacs, avant la copie du bloc de texte

Il faut d'abord sélectionner le texte que nous voulons copier. Sous X, vous pouvez le faire à la souris et la région sélectionnée apparaîtra alors en surbrillance. Mais présentement, nous sommes en mode texte :-) Ici, nous voulons copier toute la phrase. Il faut marquer le début de la région. En supposant que le curseur soit à l'endroit où il est dans la figure ci-dessus, tapez d'abord Ctrl+ESPACE (Control + barre espace) : Emacs affichera alors le message Mark set dans le mini-tampon. Puis déplacez-vous en début de ligne avec Ctrl+a : la région sélectionnée pour copier ou couper est toute celle se situant entre la marque et la position actuelle du curseur, donc dans le cas présent, toute la ligne. Tapez ensuite Alt-w (pour copier) ou Ctrl+w (pour couper). Si vous copiez, Emacs reviendra alors brièvement à la position de la marque pour que vous visualisiez la région sélectionnée.

Puis, rendez-vous dans le tampon où vous voulez copier le texte, et tapez Ctrl+y, afin d'obtenir à l'écran ce que montre la Figure 4.3. Emacs, après la copie du bloc de texte.

Figure 4.3. Emacs, après la copie du bloc de texte

Emacs, après la copie du bloc de texte

En fait, vous venez de copier du texte dans le kill ring (soit «cercle des morts») d'Emacs : ce kill ring contient toutes les régions copiées ou coupées depuis le lancement d'Emacs. Toute région qui vient d'être copiée ou coupée est mise en tête du kill ring. La séquence Ctrl+y ne fait que «coller» la région en tête : si vous voulez avoir accès aux autres régions, appuyez sur Ctrl+y puis sur Alt-y jusqu'à ce que vous tombiez sur le texte souhaité.

Pour rechercher du texte, placez-vous dans le tampon souhaité et tapez Ctrl+s : Emacs vous demande alors la chaîne à rechercher. Pour lancer une nouvelle recherche avec la même chaîne, toujours dans le tampon courant, tapez Ctrl+s une nouvelle fois. Dès qu'Emacs arrive à la fin du tampon et ne trouve plus d'occurrence de la chaîne cherchée, vous pouvez de nouveau taper Ctrl+s pour recommencer la recherche depuis le début du tampon. Une pression sur la touche Entrée termine la recherche.

Pour rechercher et remplacer, tapez Alt-%. Emacs vous demande la chaîne à rechercher, par quoi elle doit être remplacée, et vous interroge pour chaque occurrence repérée.

Une dernière chose bien utile : Ctrl+x u permet d'annuler l'opération précédente. Vous pouvez annuler autant d'opérations que vous le souhaitez.

Quitter Emacs

Pour ce faire, le raccourci est Ctrl+x Ctrl+c. Emacs vous demandera alors s'il faut enregistrer les modifications effectuées dans les tampons si vous ne les avez pas sauvegardées.



[11] Emacs a été conçu pour fonctionner sous un maximum d'environnements et il existe encore aujourd'hui des terminaux qui n'ont pas de touches fléchées. C'est encore plus vrai de Vi.