Emacs et ses raccourcis

Emacs est un éditeur de texte très puissant. La liste suivante de raccourcis n'est sûrement pas exhaustive; c'est en quelque sorte mon mémo ...

Commandes principales

C-x C-f Ouvrir un fichier
C-x C-s Sauvegarder le fichier
C-x C-c Quitter Emacs
Esc Esc Esc Annuler la commande en cours
C-_ Annuler
C-x i Insérer un fichier

Déplacements dans un fichier

C-b Caractère précédent (back)
C-f Caractère suivant (forward)
C-p Ligne précédente (previous)
C-n Ligne suivante (next)
C-v Page précédente
M-v Page suivante
M-< Début du fichier
M-> Fin du fichier
C-L Positionner le curseur en milieu de page
C-a Début de ligne
C-e Fin de ligne
C-droite Fin du mot suivant
C-gauche Début du mot précédent
C-haut/bas Début/Fin du paragraphe

Edition

C-w Couper
M-w Copier
C-y Coller
C-espace Marquer la position du curseur (début d'un coupier/couper)
Suppr Suppression du caractère suivant le curseur
C-d Suppression du caractère avant le curseur
C-Suppr Suppression du mot après le curseur
M-Suppr Suppression du mot avant le curseur
C-k Couper depuis le curseur jusqu'en fin de ligne
C-x C-q Change le status de lecture seule (read-only) du buffer
C-X C-; Commente la ligne ou la région sélectionnée (mode web, html) LaTeX ou programmation)
C-x C-; Commente la ligne ou la région sélectionnée (mode LaTeX ou programmation)

Recherche dans le fichier

C-s Recherche dans la suite du fichier
C-s C-w Recherche dans la suite du fichier du mot sous le curseur
C-r Recherche en remontant dans le fichier
C-r C-w Recherche en remontant dans le fichier du mot sous le curseur

Recherche et remplacement

M-% replace-string remplace une chaîne de caractère par une autre dans tout le document,
sans aucune confirmation.
M-% remplace une chaîne de caractère par une autre.
A chaque occurence, Emacs demande confirmation avant le remplacement,
y pour la remplacer, n pour la conserver.

Manipulation des buffers

C-x C-b Liste des buffers (liste des fichiers ouverts)
C-x C-s Sauvegarde les buffers
C-x 0 Ferme le buffer actif
C-x 1 Ferme les autres buffers
C-x 2 Scinde le buffer actif en deux verticalement
C-x 3 Scinde le buffer actif en deux horizontalement
C-x o Passage d'un buffer à l'autre

Format d'encodage

C-x Ret f Définir le format de fichier par défaut (utf-8, ...)
C-x Ret c Définir le format de fichier pour la prochaine commande (utf-8, ...)
À l'ouverture d'un fichier, Emacs détermine l'encodage du fichier, lit le fichier et le décode. L'enregistrement se fait finalement suivant l'encodage détecté à l'ouverture, à moins que celui-ci n'est était changé avec la commande précédente.
Il peut arriver que Emacs ne choisisse par le bon encodage: des caractères "étranges" apparaissent à l'ouverture du fichier, comme "\351" ou quelques caractères "spéciaux". On peut alors forcer Emacs à changer d'encodage sur le fichier avec
C-x RET r iso-8859-15 RET
ou
C-x RET r utf-8 RET
pour les deux formats de fichiers les plus courants, et où les accents, en général, posent problème.

Emacs et LaTeX

Emacs fournit un environnement propice à la programmation, et entre autre à l'édition de documents Latex
Lorsqu'un fichier source Latex est chargé, avec une extension ".tex", le menu d'Emacs s'adapte, permettant entre autre de compiler le document, d'ouvrir le document compilé dvi ou pdf.
Il est possible de modifier toutes ces commandes et de les adapter, par exemple, ci-dessous, modifier la commande de compilation latex en pdflatex:

M-x Ret customize-variable Ret latex-run-command Ret nom-de-la-command Change le nom de la commande de compilation latex
Il est intéressant ici, en cas de doute, de version différente de Emacs, de la recherche d'une autre variable ou commande à modifier… de naviguer dans les variables customize-variable à l'aide de l'auto-complétion (touche Tab).
Modification dès le démarrage: fichier .emacs
Le fichier .emacs est un fichier de configuration pour Emacs qui est lu est exécuté à chaque démarrage de Emacs.
Il suffit ainsi d'y placer les configurations personnalisées.

Par exemple, pour définir dès le lancement une variable accessible via le principe précédent, on peut ajouter à notre fichier la ligne:
(setq latex-run-command "pdflatex")


Emacs ajoute par défaut un premier argument de compilation: nonstopmode afin de terminer la compilation m\^eme en cas d'erreur(s) rencontrée(s).
On peut modifier (ici supprimer ceci) par:
(setq tex-start-commands "")

Lorsqu'il a été modifié, on peut charger ce fichier .emacs, soit en relançant Emacs, soit grâce à:
M-x Ret load-file Ret ~/.emacs
ou bien sûr tout autre nom de fichier, et son chemin d'accès, en lieu et place de ~/.emacs.
C-x C-;   Commenter plusieurs lignes, commenter toute la région sélectionner (ou la "décommenter")
On peut aussi, en LaTex, commenter toute un paragraphe avec une instruction conditionnelle:

\iffalse
commentaire
commentaire, ligne 2
commentaire, encore, ligne 3
... \fi

LongPage: h2: 1 - h3: 7