tuteurs.ens.fr/www/unix/editeurs/emacs_memo.html

845 lines
21 KiB
HTML
Raw Permalink Normal View History

2024-04-02 20:48:26 +02:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Mémo emacs</title>
<link rel="stylesheet" href="../../tuteurs.css" type="text/css" />
</head>
<body>
<div class="navigation">
<h1>Tuteurs informatique<br /><a href="../../meta/contact.html">Nous contacter</a></h1>
<hr />
<ul class="menu">
<li>
<a href="../../meta/charte_graphique.html">Utiliser ce site</a>
</li>
<li>
<a href="../../actualite.html">Actu et stages</a>
</li>
<li>
<a href="../../docs/">Docs à imprimer</a>
</li>
<li>
<a href="../../meta/plan_site.html">Plan du site</a>
</li>
<li>
<a href="../../search.html">Rechercher</a>
</li>
</ul>
<hr />
<ul class="arbre">
<li>
<a href="../../">Les tuteurs</a>
<ul class="arbre">
<li>
<a href="../">Unix</a>
<ul class="arbre">
<li>
<a href="./">Éditeurs</a>
<ul class="arbre">
<li>
<a href="cercles.html">7 Cercles</a>
</li>
<li>
<a href="emacs.html">Emacs</a>
</li>
<li>
<a href="emacs_memo.html" class="actuel">Mémo emacs</a>
</li>
<li>
<a href="nedit.html">NEdit</a>
</li>
<li>
<a href="super_emacs.html">Emacs avancé</a>
</li>
<li>
<a href="unicode.html">Unicode</a>
</li>
<li>
<a href="vim.html">Vim</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<ul class="menu">
<li>
<a href="http://www.eleves.ens.fr/">Serveur des élèves</a>
</li>
<li>
<a href="http://www.ens.fr/">ENS</a>
</li>
<li>
<a href="http://www.spi.ens.fr/">SPI</a>
</li>
</ul>
</div>
<div class="corps">
<h1>Aide-mémoire pour GNU Emacs</h1>
<div class="sommaire">
<ul>
<li>
<a href="#s1">Lancer emacs</a>
</li>
<li>
<a href="#s2">Quitter emacs</a>
</li>
<li>
<a href="#s3">Aide</a>
</li>
<li>
<a href="#s4">Manipuler fichiers et buffers</a>
</li>
<li>
<a href="#s5">Manipuler du texte</a>
<ul>
<li>
<a href="#s5_1">Se déplacer</a>
</li>
<li>
<a href="#s5_2">Effacer</a>
</li>
<li>
<a href="#s5_3">Sélectionner</a>
</li>
<li>
<a href="#s5_4">Couper, copier, coller</a>
</li>
<li>
<a href="#s5_5">Chercher et remplacer</a>
</li>
<li>
<a href="#s5_6">Changements de casse</a>
</li>
<li>
<a href="#s5_7">Permutations</a>
</li>
</ul>
</li>
<li>
<a href="#s6">Divers</a>
<ul>
<li>
<a href="#s6_1">Gestion des erreurs</a>
</li>
<li>
<a href="#s6_2">Interaction avec le shell</a>
</li>
<li>
<a href="#s6_3">Vérification d'orthographe</a>
</li>
<li>
<a href="#s6_4">Pêle-mêle...</a>
</li>
<li>
<a href="#s6_5">Gadgets</a>
</li>
</ul>
</li>
</ul>
</div>
<p>Cet aide-mémoire a uniquement pour but de vous dépanner quand vous
demandez « Bon sang, c'est quoi déjà la commande pour
permuter deux caractères ? » Si vous débutez avec
emacs, il vaut mieux lire le <a href="../../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>
<a name="s1" id="s1">Lancer emacs</a>
</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>
<a name="s2" id="s2">Quitter emacs</a>
</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>
<a name="s3" id="s3">Aide</a>
</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>
<a name="s4" id="s4">Manipuler fichiers et buffers</a>
</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>
<a name="s5" id="s5">Manipuler du texte</a>
</h2>
<h3>
<a name="s5_1" id="s5_1">Se déplacer</a>
</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>
<a name="s5_2" id="s5_2">Effacer</a>
</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>
<a name="s5_3" id="s5_3">Sélectionner</a>
</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>
<a name="s5_4" id="s5_4">Couper, copier, coller</a>
</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>
<a name="s5_5" id="s5_5">Chercher et remplacer</a>
</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>
<a name="s5_6" id="s5_6">Changements de casse</a>
</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>
<a name="s5_7" id="s5_7">Permutations</a>
</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>
<a name="s6" id="s6">Divers</a>
</h2>
<h3>
<a name="s6_1" id="s6_1">Gestion des erreurs</a>
</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>
<a name="s6_2" id="s6_2">Interaction avec le shell</a>
</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>
<a name="s6_3" id="s6_3">Vérification d'orthographe</a>
</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>
<a name="s6_4" id="s6_4">Pêle-mêle...</a>
</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>
<a name="s6_5" id="s6_5">Gadgets</a>
</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
« adventure »</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.
Dernière modification : 2007-10-24 par Marc Mezzarobba.
</div>
</div>
</body>
</html>