Chapitre 9. GNU/Emacs

Table des matières
1. Configurer Emacs
1.1. Installation
1.2. Configuration
2. Les commandes de bases
2.1. Edition de fichiers
2.2. Navigation dans un fichier
2.3. Manipulation du texte
2.4. Le registres
2.5. Recherche de texte
2.6. Les buffers sous Emacs
2.7. Les fenêtres sous Emacs
3. Les fonctions avancées
3.1. Le navigateur d'images
3.2. Lecteur de musiques
3.3. Le client IRC
3.4. Envoyer/Recevoir des messages éléctroniques
3.5. Lecture des News
3.6. AucTex : le module LaTeX pour Emacs

Emacs (prononcer imacs) est un logiciel à part dans le monde du libre : c'est un puissant logiciel, qui a comme principal tâche d'éditer des textes, comme le fait Vi(m). Mais il sait également lire son courrier éléctronique, bavarder sur IRC, regarder ses images... En un mot, Emacs sait tout faire, il se limite juste à votre imagination ! Il y a une grande rivalité entre les utilisateurs d'Emacs et de Vi. Emacs est critiqué par ses détracteurs pour être une usine à gaz, d'être complexe...(ce qui n'est pas vrai) Pourquoi Emacs alors ? Simplement parce que une seule et unique application vous permet de tout faire ! A vous d'essayer et de choisir.

Figure 9-1. GNU Emacs

1. Configurer Emacs

Emacs est différent des autres éditeurs de textes parce qu'il est à la fois un éditeur, et aussi un interpréteur de LISP. Sous ce nom, se cache un puissant langage qui permet de faire ce que l'on veut avec le programme. Vous pouvez programmer vous même vos propre fonctions pour Emacs !

1.1. Installation


# apt-get install emacs21

1.2. Configuration

Ensuite, mettons les fichiers de configuation d'Emacs :


% tar zxvf ~/config/emacs.tar.gz ~/

ou si vous n'avez pas suivi la formation depuis le début :


% wget http://people.via.ecp.fr/~alexis/formation-linux/config/emacs.tar.gz
% tar zxvf emacs.tar.gz ~/

On peut enfin lancer Emacs :


% emacs&

2. Les commandes de bases

Si vous voyez qu'Emacs n'en fait qu'a sa tête, appuyez sur C-g, ce qui remet à zéro l'opération en cours.

2.1. Edition de fichiers

  • Quitter Emacs : C-x C-c

  • Ouvrir (Créer) un fichier : C-x C-f

  • Insérer un fichier au niveau du curseur : C-x i

  • Suspendre Emacs : C-z

  • Ouvrir un autre fichier à la place : C-x C-v

  • Sauvegarder un fichier : C-x C-s

  • Sauvegarder sous un autre nom : C-x C-w

2.2. Navigation dans un fichier

  • Avancer d'un caractère : C-f

  • Reculer d'un caractère : C-b

  • Monter d'une ligne : C-p

  • Descendre d'une ligne : C-n

  • Avancer d'un mot : M-f

  • Reculer d'un mot : ESC b

  • Aller au début de la ligne : C-a

  • Aller en fin de ligne : C-e

  • Avancer d'un écran : C-v

  • Reculer d'un ecran : M-v

  • Aller au début d'un fichier : M-<

  • Aller à la fin du fichier : M->

2.3. Manipulation du texte

  • Supprimer un caractère : C-d

  • Supprimer le caractère après : Suppr

  • Supprimer un mot : M-d

  • Supprimer une ligne : C-k

Note

Sous Emacs, vous devez marquer dans une région le texte que vous voulez supprimer/copier/coller. Une région est entre ce que vous voulez supprimer/copier/coller, et la fin de ce que vous voulez supprimer/copier/coller.

  • Marquer une région : C-SPC

  • Supprimer la région de texte : C-w

  • Couper une région : C-y

  • Coller une région : M-w

  • Annuler le dernier changement : C-x u

  • Annuler tous les changements depuis la dernière fois que vous avez enregistré : M-x revert-buffer RET

  • Fixe la région autour du paragraphe courant (déplace le point au début, et la marque à la fin) : M-h

  • Fixe la région autour du buffer entier : C-x h

2.4. Le registres

Les registres d'Emacs sont des espaces mémoires où l'utilisateur peut enregistrer du texte ou une position de texte, et les rappeler plus tard. Un registre est reconnu suivant une lettre.

  • Sauvegarder la position du point dans le registre m : C-x r SPC m

  • Déplace le point à la position du registrer m : C-x r j m

  • Copie la région dans le registre m : C-x r s m

  • Insère le texte du registre m : C-x r i m

2.5. Recherche de texte

  • Recherche en avant : C-s

  • Recherche en arrière : C-r

  • Arrêt de la recherche: RET

  • Rechercher et remplacer par : M-%

  • Remplacer et aller à l'autre occurence SPC

  • Ne pas remplacer et aller à l'autre occurence : n

  • Remplacer et en arrêter là : .

2.6. Les buffers sous Emacs

Les buffers sont une zone mémoire où Emacs stocke les fichiers édités. Ils permettent la manipulation de plusieurs fichiers avec un seul et unique Emacs.

  • Aller à un buffer spécifié : C-x b

  • Afficher la liste des buffers : C-x C-b

  • Supprimer le buffer spécifié : C-x k

2.7. Les fenêtres sous Emacs

Sous Emacs, on peut diviser son écran pour afficher plusieurs buffers. On peut ainsi travailler, naviguer entre les buffers sous une seule et unique fenêtre.

  • Ferme la fenêtre actuelle : C-x 0

  • Supprimer toutes les fenêtres, sauf sur laquelle on est : C-x 1

  • Créer deux fenêtres, horizontalement : C-x 2

  • Créer deux fenêtres, verticalament : C-x 3

  • Passer d'une fenêtre à une autre : C-x o

3. Les fonctions avancées

Emacs n'est pas juste un simple éditeur de texte. Il est capable aussi d'afficher vos images, de jouer de la musique, de bavarder sur IRC, d'être un excellent client de mails et de news, un complement idéal à vos document LaTeX ...

En un mot, Emacs peut tout faire !

3.1. Le navigateur d'images

Emacs permet aussi de naviguer dans ses répertoires d'images. Pour pouvoir l'utiliser pleinement, il faut tout d'abord installer le paquet imagemagick :


# apt-get install imagemagick

Puis taper la commande suivante : M-x thumbs-show-all-from-dir

Note

Vous pouvez tabulez pour automatiser la saisie, comme en console.

Spécifier le répertoire que vous voulez naviguer, et valider par RET

3.2. Lecteur de musiques


# apt-get install mpg123-el

Pour que vous puissiez utiliser mpg123 sous emacs, il faut décommenter la ligne 38 comme ci-dessous :


;; Mode mpg123-el
(require 'mpg123)

puis lancer mpg123 par la combinaison : M-x mpg123

Spécifier le répertoire que vous voulez naviguer, et valider par RET. Donner le réportoire où est stockée votre musique, et valider par RET. Emacs joue pour vous !