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 à 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 !
Si après avoir lu ceci vous souhaitez en apprendre davantage sur Emacs, vous pouvez jeter un oeil à la page A la découverte de GNU Emacs.
Voici la ligne de commande pour invoquer Emacs :
emacs [fichier1] [fichier2...]
Emacs
ouvrira chaque fichier passé en argument dans un tampon séparé. Si
vous spécifiez plus de deux fichiers, la fenêtre se scindera
automatiquement en deux parties. L'une d'elle présentera le dernier
fichier que vous venez de demandez, et l'autre vous listera les
tampons disponibles. Si vous ne spécifiez pas de fichier, Emacs
vous affichera le tampon *scratch*
. Si vous êtes
sous X, des menus sont également à votre disposition, menus
auxquels vous pouvez accéder par l'intermédiaire d'une souris. Si vous
êtes en mode texte, ces même menus sont accessibles grâce à la touche
F10, mais nous apprendrons ici à manipuler
Emacs à l'aide des raccourcis clavier, sans utiliser ces menus.
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
En tapant la commande, la fenêtre suivante sera affiché :
Vous constatez
que deux tampons ont été créé. 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 entrez du texte comme dans un éditeur
« normal » et effacez avec la
touche Suppr ou bien la
touche Retour.
Pour vous déplacer, vous pouvez utiliser les touches fléchées, mais aussi d'autres combinaisons comme : Ctrl-A pour aller en début de ligne, Ctrl-E pour aller en fin de ligne, Alt-< ou Ctrl-Début pour aller au début du tampon et Alt-> ou Ctrl-Fin pour aller à la fin du tampon. Il existe de nombreuses autres combinaisons, même pour chacune des touches fléchées[22].
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ètement, en pressant la touche Tab comme pour bash.
Vous pouvez, si vous le voulez, ne montrer qu'un tampon à l'écran. Vous avez deux solutions :
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 s'ouvrira
alors, appelé *Buffer List*
; vous
pouvez vous déplacer dans ce tampon à l'aide de la séquence
Ctrl-X
O, sélectionnez le tampon souhaité puis
appuyez sur la touche Entrée, ou bien tapez
le nom dans le mini-tampon. Le tampon *Buffer
List*
retournera en arrière-plan dès que votre
choix sera 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ètement, completion en anglais).
Supposons que nous soyons dans la situation de la Figure 8.2, « Emacs, avant la copie du bloc de texte ».
Il faut d'abord
sélectionner le texte que nous voulons copier. 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 8.2, « Emacs, avant la copie du bloc de texte », tapez d'abord
Ctrl-Espace
(Contrôle + barre d'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.
Enfin, rendez-vous dans le tampon où vous voulez copier le texte, et tapez Ctrl-Y, afin d'obtenir à l'écran ceci :
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 trouviez 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. Appuyez sur la touche Entrée pour terminer 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 ou Ctrl-Shift-- permet d'annuler l'opération précédente. Vous pouvez annuler autant d'opérations que vous le souhaitez.
Pour quitter Emacs, utilisez le raccourci :Ctrl-X Ctrl-C. Si vous n'avez pas enregistré vos modifications, Emacs vous demandera alors s'il faut enregistrer ou pas les tampons.
[22] Emacs a été conçu pour fonctionner sous un maximum d'environnements, certains n'ayant pas de touches fléchées sur le clavier. C'est encore plus vrai de Vi.