Initiation rapide à Emacs






Emacs est un éditeur de texte qui peut faire gagner énormément de temps, une fois que l'on en a assimilé les commandes de base. Ce document présente quelques fonctionnalités, accompagnées de petits exercices pour mettre en pratique. La philosophie de ces exercices est simple : être capable d'effectuer une manipulation de texte avec un minimum d'interaction avec le clavier et... sans souris ! Les exemples nécessaires sont tous présents dans l'archive ExemplesEmacs.tar à télécharger et à décompresser (avec la commande tar -xf ExemplesEmacs.tar).

Chaque section commence par un tableau récapitulatif de raccourcis clavier. C-a représente la combinaison de touche Ctrl+a et M-a représente la combinaison de touche Alt+a (ou Meta+a sur certains claviers). Certains raccourcis ne sont accessibles qu'avec le fichier de configuration suivant à placer à la racine de votre compte.

Table of Contents



Tout d'abord, deux commandes de base : C-_ pour annuler la dernière action (à itérer pour revenir plusieurs actions en arrière), et C-g pour annuler l'action en cours.

1 Manipulation des fichiers, fenêtres et tampons

Ouvrir un fichier C-x C-f
Sauvegarder le buffer courant C-x C-s
Supprimer le buffer courant (n'affecte pas le fichier) C-x k
Changer de buffer C-x b + complétion avec tab
Changer de fenêtre C-x o
Couper la fenêtre courante horizontalement C-x 2
Couper la fenêtre courante verticalement C-x 3
Revenir à une seule fenêtre C-x 1

Fichiers, fenêtres et tampons sont trois objets distincts sous Emacs: une fois ouvert, un fichier est placé dans un tampon qui est lui-même affiché dans une fenêtre.

La gestion des fichiers est classique : ouvrir (C-x C-f+ nom du fichier à saisir dans la ligne de dialogue en bas de la fenêtre principale), fermer (C-x k), sauvegarder (C-x C-s).

Plusieurs fenêtre peuvent être affichées en même temps : C-x 3 partage la fenêtre courante en deux sous-fenêtres verticales et C-x 2 fait de même horizontalement. Le passage entre les différentes fenêtres se fait sans souris, bien sûr, avec C-x o.

Le buffer de la fenêtre courante peut être changé avec C-x b : la ligne de dialogue propose alors un tampon par défaut (que l'on peut choisir en pressant immédiatement la touche entrée). Pour faire un autre choix, il faut saisir le nom du tampon souhaité en s'aidant éventuellement de la complétion (avec Tab).

De manière générale, chaque interaction avec la ligne de dialogue peut être réalisée avec l'aide de la complétion.
Exercice : Ouvrir les trois fichiers anthropophage.txt, bachi-bouzouk.txt et tonnerre-de-Brest.txt du répertoire ExemplesEmacs. Séparer la fenêtre principale selon quatre fenêtres (à peu prés carrées), puis placer chacun des tampons dans une fenêtre distincte, plus une fenêtre avec un shell (en tapant M-x shell+ entrée).

2 Manipulation de texte

Emacs permet de se déplacer rapidement dans un texte. En plus du déplacement classique à l'aide des flèches directionnelles, on peut sauter de mot en mot en utilisant les flèches horizontales et la touche alt (ou meta).

La suppression est similaire: les touches back et suppr peuvent être couplées avec la touche alt pour supprimer directement des mots au lieu de caractères.
Supprimer le caractère sous le curseur C-d ou suppr
Supprimer le mot sous le curseur M-d ou M+suppr
Supprimer le caractère à gauche du curseur back
Supprimer le mot à gauche du curseur M+back

Exercice : Utiliser la touche alt pour se déplacer rapidement et supprimer quelques mots dans le fichier anthropophage.txt précédement ouvert.

Pour copier/coller du texte, on dispose d'un mécanisme puissant : le kill-ring. A chaque fois qu'une portion de texte est copiée (ou collée) elle est placée dans une liste. Afin d'être copiée ou coupée, la portion de texte doit être sélectionné : placer un marqueur (C-space) puis déplacer vous avec les flèches directionnelles. On peut ensuite couper (C-w) ou simplement copier (M-w). Pour coller, on utilise C-y, suivi directement de M-y si on veut accéder aux autres éléments du kill-ring.
Exercice : Pour éclaircir un peu les explications précédentes suivez ces instructions
  • taper les trois mots un deux trois dans un buffer,
  • revenir devant le premier mot (en tapant trois fois M-left),
  • copier successivement les trois mots (en tapant trois fois de suite la séquence C-space, M-right, M-w puis space)
  • coller successivement les trois mots précédents avec la séquence
    C-y, M-y(3 fois), space,
    C-y, M-y(2 fois), space,
    C-y

Le raccourcis C-k permet de couper directement des lignes entières. Couper successivement plusieurs lignes et taper C-y. Que se passe-t-il ?
Supprimer le reste de la ligne C-k
Coller C-y puis M-y pour faire son choix dans le kill-ring
Couper C-w
Copier M-w

3 Quelques commandes plus avancées

3.1 Complétion dans un tampon

Complétion dans un tampon M-/

Vous n'aurez plus jamais d'excuses pour ne pas avoir utilisé des noms de variable longs ! M-/ vous permet de compléter le mot courant, en se basant sur les mots présents dans les tampons couramment ouverts.
Exercice : Se placer dans le tampon (vide) bachi-bouzouk.txt, taper le mot anti puis utiliser M-/ pour compléter. Utiliser plusieurs fois M-/ pour essayer toutes les possibilités.

3.2 Rechercher

Rechercher un mot (en avant) C-s
Rechercher l'occurrence suivante (en avant) C-s C-s

C-s permet de rechercher un mot dans le tampon courant. Pour chercher les autres occurrences, taper C-s C-s puis C-s pour passer à l'occurrence suivante. La touche entrée (ou C-g) arrête la recherche.

On peut faire la même chose en arrière avec C-r.

3.3 Rechercher et remplacer

Rechercher un mot et le remplacer par un autre M-%


This document was translated from LATEX by HEVEA.