tuteurs.ens.fr/unix/editeurs/emacs_memo.tml
Marc Mezzarobba cbbe543fce Passage à git des « Dernière modif... »
Remplacement de toutes les phrases du style « Dernière modification le
... [par ...] » par <date value="from git" />, qui produit une phrase du
genre à partir de l'historique du dépôt. Le « from git » n'a pas
d'importance, c'est juste parce que la DTD de TML (que je préfère ne pas
changer) exige un attribut value.

Last-change: ignore this commit
2009-09-27 22:16:43 +02:00

428 lines
12 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Mémo emacs</title>
</head>
<body>
<h1>Aide-mémoire pour GNU Emacs</h1>
<p>Cet aide-mémoire a uniquement pour but de vous dépanner quand vous
demandez &#171; Bon sang, c'est quoi déjà la commande pour
permuter deux caractères ? &#187; Si vous débutez avec
emacs, il vaut mieux lire le <a
href="&url.tuteurs;unix/editeurs/emacs.html">tutorial</a> qui est
conçu pour vous.</p>
<p> Pour savoir comment décrypter les abréviations de commande
(comment taper <code>C-x C-c</code>), voir la section « <a
href="emacs.html#com">Format des commandes emacs</a> » du <a
href="emacs.html">tutorial</a>.</p>
<h2>Lancer emacs</h2>
<p>On lance emacs simplement en tapant :</p>
<pre><span class="prompt">prao ~ $</span> emacs</pre>
<p>Pour éditer un fichier précis :</p>
<pre><span class="prompt">prao ~ $</span> emacs monbofichier.html</pre>
<h2>Quitter emacs</h2>
<table class="tableau">
<tr><th>Commande</th><th>Commande étendue</th><th>Description</th></tr>
<tr><td>C-z</td><td>M-x suspend-emacs</td><td>Suspendre (ou
iconfier quand on est en mode graphique) emacs</td></tr>
<tr><td>C-x C-c</td><td>M-x quit-window</td><td>Quitter emacs</td></tr>
</table>
<h2>Aide</h2>
<table class="tableau">
<tr><th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>C-h</td><td>M-x help</td><td>Aide d'emacs (M-? pour la config
conscrits 2002)</td></tr>
<tr><td>C-h k</td><td>M-x describe-key</td><td>Brève description d'une
commande</td></tr>
<tr><td>C-h i</td><td>M-x info</td><td>Lance les fichiers d'aide
info.</td></tr>
<tr><td>C-h m</td><td>M-x describe-mode</td><td>Description d'un mode
majeur ou mineur</td></tr>
<tr><td>C-h t</td><td>M-x help-with-tutorial</td><td>Lance le tutorial
d'emacs</td></tr>
</table>
<h2>Manipuler fichiers et buffers</h2>
<table class="tableau">
<tr><th>Commande</th><th>Commande étendue</th><th>Description</th></tr>
<tr><td>C-x C-f</td><td>M-x find-file</td><td>Ouvrir un (nouveau) fichier</td>
</tr>
<tr><td>C-x C-s</td><td>M-x save-buffer</td><td>Sauvegarder le buffer
courant</td></tr>
<tr><td>C-x s</td><td>M-x save-some-buffers</td><td>Sauvegarder tous
les buffers en cours d'édition</td></tr>
<tr>
<td>C-x C-b</td>
<td>M-x list-buffers</td>
<td>Avoir la liste de tous les buffers.</td>
</tr>
<tr>
<td>C-x b</td>
<td>M-x switch-to-buffer</td>
<td>Changer de buffer</td>
</tr>
<tr>
<td>C-x C-q</td>
<td>M-x vc-toggle-read-only</td>
<td>Passer le buffer en lecture seule, ou lecture-écriture (selon
l'état de départ)</td>
</tr>
<tr>
<td>C-x o</td>
<td>M-x other-window</td>
<td>Passer à une autre fenêtre</td>
</tr>
<tr>
<td>C-x 1</td>
<td>M-x delete-other-windows</td>
<td>Faire disparaître toutes les fenêtres sauf la fenêtre courante</td>
</tr>
<tr>
<td>C-x 2</td>
<td>M-x split-window-horizontally</td>
<td>Partage la fenêtre courante en 2, horizontalement</td>
</tr>
<tr>
<td>C-x 3</td>
<td>M-x split-window-vertically</td>
<td>Partage la fenêtre courante en 2, verticalement</td>
</tr>
</table>
<h2>Manipuler du texte</h2>
<h3>Se déplacer</h3>
<table class="tableau"> <tr> <th>Bouger d'un(e)...</th> <th>Vers
l'avant</th> <th>Vers l'arrière</th> </tr>
<tr>
<td>caractère</td>
<td>
<code>C-b</code>
</td>
<td>
<code>C-f</code>
</td>
</tr>
<tr>
<td>mot</td>
<td>
<code>M-b</code>
</td>
<td>
<code>M-f</code>
</td>
</tr>
<tr>
<td>ligne</td>
<td>
<code>C-p</code>
</td>
<td>
<code>C-n</code>
</td>
</tr>
<tr>
<td>début/fin de ligne</td>
<td>
<code>C-a</code>
</td>
<td>
<code>C-e</code>
</td>
</tr>
<tr>
<td>phrase</td>
<td>
<code>M-a</code>
</td>
<td>
<code>M-e</code>
</td>
</tr>
<tr>
<td>paragraphe</td>
<td>
<code>M-{</code>
</td>
<td>
<code>M-}</code>
</td>
</tr>
<tr>
<td>buffer</td>
<td>
<code>M-&lt;</code>
</td>
<td>
<code>M-&gt;</code>
</td>
</tr>
</table>
<h3>Effacer</h3>
<table class="tableau">
<tr> <th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr> <td>C-d</td> <td>M-x delete-char</td> <td>Efface le caractère sur
lequel est le curseur.</td> </tr>
<tr> <td>M-d</td> <td>M-x kill-word</td> <td>Efface le mot à partir du
curseur.</td> </tr>
<tr> <td>M-backspace</td> <td>M-x backward-kill-word</td> <td>Efface
le mot précédent.</td> </tr>
<tr> <td>C-k</td> <td>M-x kill-line</td> <td>Efface la ligne à partir
du curseur</td> </tr>
<tr> <td>_</td> <td>M-x kill-paragraph</td> <td>Efface le paragraphe à
partir du curseur.</td></tr>
<tr><td>M-z &lt;c&gt;</td><td>M-x zap-to-char</td><td>Efface jusqu'à la
prochaine occurrence de &lt;c&gt; (&lt;c&gt; compris)</td></tr>
</table>
<h3>Sélectionner</h3>
<p>La sélection peut se faire à la souris mais aussi au
clavier :</p>
<table class="tableau">
<tr>
<th>Commande</th>
<th>Nom complet</th>
<th>Action</th>
</tr>
<tr>
<td>C-espace</td>
<td>M-x set-mark-command</td>
<td>Poser une
marque</td>
</tr>
<tr>
<td>C-x C-x</td>
<td>M-x
exchange-point-and-mark</td>
<td>Échanger la marque et le point</td>
</tr>
<tr><td>M-@ &lt;n&gt;</td><td>M-x mark-word</td><td>Sélectionne
&lt;n&gt; mots à partir de la position du curseur</td></tr>
<tr> <td>M-h</td> <td>M-x mark-paragraph</td> <td>Sélectionner tout le
paragraphe</td> </tr>
<tr><td>C-x h</td><td>M-x mark-whole-buffer</td><td>Sélectionner le
buffer entier</td></tr>
</table>
<h3>Couper, copier, coller</h3>
<table class="tableau">
<tr> <th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>C-w</td><td>M-x kill-region</td><td>Couper la
sélection</td></tr>
<tr><td>M-w</td><td>M-x copy-region-as-kill</td><td>Copier la
sélection</td></tr>
<tr><td>C-y</td><td>M-x yank</td><td>coller</td></tr>
<tr><td>M-y</td><td>M-x yank-pop</td><td>(uniquement après un
<code>C-y</code>) navigue dans l'history de la kill-ring</td></tr>
</table>
<h3>Chercher et remplacer</h3>
<table class="tableau">
<tr><th>Commande</th><th>Nom complet</th> <th>Action</th> </tr>
<tr><td>C-s</td><td>M-x isearch forward</td><td>Recherche simple vers
la fin du fichier</td></tr>
<tr><td>C-r</td><td>M-x isearch backward</td><td>Recherche simple vers
le début du fichier</td></tr>
<tr><td>C-M-s</td><td>M-x isearch-forward-regexp</td><td>Recherche
une expression régulière vers la fin du fichier</td></tr>
<tr><td>C-M-r</td><td>M-x isearch-backward-regexp</td><td>Recherche
une expression régulière vers le début du fichier</td></tr>
<tr><td>M-%</td><td>M-x query-replace</td><td>Remplacer</td></tr>
<tr><td>_</td><td>M-x query-replace-regexp</td><td>Remplacer en
utilisant une expression régulière</td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<h3>Changements de casse</h3>
<table class="tableau">
<tr><th>Commande</th><th>Nom complet</th> <th>Action</th> </tr>
<tr><td>M-c</td><td>M-x capitalize-word</td><td>Met en majuscules la
premier caractère d'un mot</td></tr>
<tr><td>M-u</td><td>M-x upcase-word</td><td>Met le mot en
majuscules</td></tr>
<tr><td>M-l</td><td>M-x downcase-word</td><td>Met le mot en
minuscules</td></tr>
<tr><td>C-x C-u</td><td>M-x upcase-region</td><td>Met la région en
majuscules (désactivé par défaut)</td></tr>
<tr><td>C-x C-l</td><td>M-x downcase-region</td><td>Met la région en
minuscules (désactivé par défaut)</td></tr>
</table>
<h3>Permutations</h3>
<table class="tableau">
<tr>
<th>Commande</th>
<th>Nom complet</th>
<th>Action</th>
</tr>
<tr>
<td>
<code>C-t</code>
</td>
<td>
<code>M-x
transpose-chars</code>
</td>
<td>Intervertit deux lettres</td>
</tr>
<tr>
<td>
<code>M-t</code>
</td>
<td>
<code>M-x
transpose-words</code>
</td>
<td>Intervertit deux mots</td>
</tr>
<tr>
<td>
<code>C-x C-t</code>
</td>
<td>
<code>M-x
transpose-lines</code>
</td>
<td>Intervertit deux lignes</td>
</tr>
<tr>
<td>
<code>_</code>
</td>
<td>
<code>M-x
transpose-sentences</code>
</td>
<td>Intervertit deux phrases</td>
</tr>
<tr>
<td>
<code>_</code>
</td>
<td>
<code>M-x
transpose-paragraphs</code>
</td>
<td>Intervertit deux paragraphes</td>
</tr>
</table>
<h2>Divers</h2>
<h3>Gestion des erreurs</h3>
<table class="tableau">
<tr><th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>C-_ ou C-x u</td><td>M-x undo</td><td>Annule la dernière
action</td></tr>
<tr><td>C-g</td><td>M-x keyboard-quit</td><td>Annule une commande en
cours de frappe ou d'exécution</td></tr>
<tr><td>_</td><td>M-x recover-file &lt;fichier&gt;</td><td>Récupérer
un fichier dont l'édition a été interrompue par une erreur
système</td></tr>
<tr><td>_</td><td>M-x revert-buffer</td><td>Récupérer le buffer dans
l'état de dernière sauvegarde</td></tr>
</table>
<h3>Interaction avec le shell</h3>
<table class="tableau">
<tr><th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>M-!</td><td>M-x shell-command</td><td>Exécute une commande
shell</td></tr>
<tr><td>C-u M-!</td><td>_</td><td>Insère le résultat d'une commande
dans le buffer courant</td></tr>
<tr><td>M-|</td><td>M-x shell-command-on-region</td><td>Exécute une
commande sur la région sélectionnée</td></tr>
<tr><td>C-u M-|</td><td>_</td><td>Applique un filtre sur une région,
puis insère le résultat dans le buffer courant</td></tr>
<tr><td>_</td><td>M-x shell</td><td>Lance un shell dans terminal
rudimentaire (sans séquences d'échappement)</td></tr>
<tr><td>_</td><td>M-x term</td><td>Lance un terminal plus élaboré</td></tr>
</table>
<h3>Vérification d'orthographe</h3>
<table class="tableau">
<tr><th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>M-$</td><td>M-x ispell-word</td><td>Vérifie l'orthographe du
mot</td></tr>
<tr><td>_</td><td>M-x ispell-region</td><td>Vérifie l'orthographe de
la région</td></tr>
<tr><td>_</td><td>M-x ispell-buffer</td><td>Vérifie l'orthographe du
buffer entier</td></tr>
<tr><td>_</td><td>M-x ispell-change-dictionary</td><td>Change le
dictionnaire utilisé pour vérifier l'orthographe</td></tr>
</table>
<h3>Pêle-mêle...</h3>
<table class="tableau">
<tr><th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>M-q</td><td>M-x command fill-paragraph</td><td>Reformate le
paragraphe</td></tr>
<tr><td>M-/</td><td>M-x dabbrev-expand</td><td>Développe à la volée le
début d'un mot déjà tapé précédemment</td></tr>
<tr><td>C-u &lt;n&gt; &lt;commande&gt;</td><td>_</td><td>Répète
&lt;n&gt; fois la commande</td></tr>
<tr><td>C-u &lt;n&gt; &lt;c&gt;</td><td>_</td><td>Répète &lt;n&gt;
fois le caractère &lt;c&gt;</td></tr>
<tr><td>M-g &lt;n&gt;</td><td>M-x goto-line</td><td>Va à la ligne
&lt;n&gt;</td></tr>
<tr><td>_</td><td>M-x calendar</td><td>Lance un calendrier du mois</td></tr>
</table>
<h3>Gadgets</h3>
<table class="tableau">
<tr><th>Commande</th> <th>Nom complet</th> <th>Action</th> </tr>
<tr><td>_</td><td>M-x spook</td><td>Génère une liste des mots clefs
censés confuser Echelon et la NSA (hum...)</td></tr>
<tr><td>_</td><td>M-x hanoi</td><td>Devant vos yeux ébahis, emacs
résout le casse-tête des tours de Hanoi</td></tr>
<tr><td>_</td><td>M-x handwrite</td><td>Transforme votre fichier texte
en PostScript prêt à imprimer, avec une écriture manuscrite</td></tr>
<tr><td>_</td><td>M-x dunnet</td><td>Jeu de type
&#171; adventure &#187;</td></tr>
<tr><td>_</td><td>M-x gomoku</td><td>Jeu de go</td></tr>
<tr><td>_</td><td>M-x doctor</td><td>Le psychanalyste d'emacs. Emacs
est votre ami.</td></tr>
</table>
<div class="metainformation">Auteur : Marie-Lan Nguyen.
<date value="from git" />
</div>
</body>
</html>