Vim

De Linuxmemo.

(Différences entre les versions)
(memo total)
Ligne 219 : Ligne 219 :
  :10,20 normal d3w
  :10,20 normal d3w
-
===memo total===
+
===Memo total===
source: http://tnerual.eriogerg.free.fr/vimqrc-fr.html
source: http://tnerual.eriogerg.free.fr/vimqrc-fr.html
 +
 +
<h1>VIM - CARTE DE RÉFÉRENCE RAPIDE
 +
</h1><table>
 +
<tbody><tr><td colspan="2" bgcolor="lightgrey"><br><b>Mouvement simple
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>h l k j</b></font></tt></td><td>lettre à gauche, droite&nbsp;; ligne en haut, bas</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>b w</b></font></tt></td><td>mot à gauche, droite</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>ge e</b></font></tt></td><td>fin du mot à gauche, droite</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>{&nbsp; }</b></font></tt></td><td>début du paragraphe précédent, suivant</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>( )</b></font></tt></td><td>début de la phrase précédente, suivante</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>0 gm</b></font></tt></td><td>début, milieu de ligne</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^&nbsp; $</b></font></tt></td><td>première, dernière lettre de la ligne</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>G <font color="red"><i>n</i></font>gg</b></font></tt></td><td>ligne <font color="red"><i>n</i></font>, par défaut la dernière, première</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>%</b></font></tt></td><td>pourcentage <font color="red"><i>n</i></font> du document <i>(<font color="red"><i>n</i></font> obligatoire)</i></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n|</i></font></b></font></tt></td><td>colonne <font color="red"><i>n</i></font> de la ligne courante</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>%</b></font></tt></td><td>autre parenthèse, crochet, commentaire, <tt>#define</tt></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>H <font color="red"><i>n</i></font>L</b></font></tt></td><td>ligne <font color="red"><i>n</i></font> depuis le début, la fin de la fenêtre</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>M</b></font></tt></td><td>milieu de la fenêtre</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Insertion &amp; remplacement <font color="red"><i><font color="black">→</font></i></font> mode insertion
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>i a</b></font></tt></td><td>insertion avant, après le curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>I A</b></font></tt></td><td>insertion au début, fin de ligne</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gI</b></font></tt></td><td>insertion à la première colonne</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>o O</b></font></tt></td><td>nouvelle ligne au dessous, dessus du curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>r<font color="red"><i>c</i></font></b></font></tt></td><td>remplace la lettre sous le curseur par <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>gr<font color="red"><i>c</i></font></b></font></tt></td><td>comme <tt> r</tt>, mais sans changer le formattage</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>R</b></font></tt></td><td>remplace le texte à partir du curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>gR</b></font></tt></td><td>comme <tt> R</tt>, mais sans changer le formattage</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>c<font color="red"><i>m</i></font></b></font></tt></td><td>remplace le texte du mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>cc&nbsp;<font size="-1">or</font> S</b></font></tt></td><td>remplace la ligne courante</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>C</b></font></tt></td><td>remplace jusqu'à la fin de la ligne</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>s</b></font></tt></td><td>remplace un caractère et insère</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>~</b></font></tt></td><td>change la casse et avance d'une lettre</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>g~<font color="red"><i>m</i></font></b></font></tt></td><td>change la casse du mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gu<font color="red"><i>m</i></font> gU<font color="red"><i>m</i></font></b></font></tt></td><td><font color="red"><i><font color="black">→</font></i></font> minusc., majusc. le texte du mvt. <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b><font color="red"><i>&lt;</i></font><font color="red"><i>m</i></font> <font color="red"><i>&gt;</i></font><font color="red"><i>m</i></font></b></font></tt></td><td>décale à gauche, droite le texte du mvt. <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font><font color="red"><i>&lt;</i></font><font color="red"><i>&lt;</i></font> <font color="red"><i>n</i></font><font color="red"><i>&gt;</i></font><font color="red"><i>&gt;</i></font></b></font></tt></td><td>décale <font color="red"><i>n</i></font> lignes à gauche, droite</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Suppression
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>x X</b></font></tt></td><td>supprime le caractère sous, avant le curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>d<font color="red"><i>m</i></font></b></font></tt></td><td>supprime le texte du mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>dd D</b></font></tt></td><td>supprime la ligne courante, la fin de la ligne</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>J gJ</b></font></tt></td><td>jointe la ligne courante et suivante, sans espace</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>d<font size="+1">↵</font></b></font></tt></td><td>supprime les lignes d'intervalle <font color="red"><i>r</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>d<font color="red"><i>x</i></font><font size="+1">↵</font></b></font></tt></td><td>supprime l'intervalle <font color="red"><i>r</i></font> dans le registre <font color="red"><i>x</i></font></td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Mode insertion
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^V<font color="red"><i>c</i></font> ^V<font color="red"><i>n</i></font></b></font></tt></td><td>insère le car. <font color="red"><i>c</i></font> littéralement, valeur déc. <font color="red"><i>n</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^A</b></font></tt></td><td>insère le texte précédemment inséré</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^@</b></font></tt></td><td>comme <tt>^A</tt> &amp; stoppe l'insertion <font color="red"><i><font color="black">→</font></i></font> mode commande</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^R<font color="red"><i>x</i></font> ^R^R<font color="red"><i>x</i></font></b></font></tt></td><td>insère le contenu du reg. <font color="red"><i>x</i></font>, littéralement</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^N ^P</b></font></tt></td><td>saisie automatique avant, après le curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^W</b></font></tt></td><td>supprime le mot avant le curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^U</b></font></tt></td><td>supprime le texte inséré dans la ligne en cours</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^D ^T</b></font></tt></td><td>décale à gauche, droite d'une tabulation</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^K<font color="red"><i>c<font size="-2">1</font></i></font><font color="red"><i>c<font size="-2">2</font></i></font>&nbsp;<font size="-1">or</font> <font color="red"><i>c<font size="-2">1</font></i></font><font size="+1">←</font><font color="red"><i>c<font size="-2">2</font></i></font></b></font></tt></td><td>saisie le digraphe <font color="red"><i>\c<font size="-2">1</font>,c<font size="-2">2</font>\</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^O<font color="red"><i>c</i></font></b></font></tt></td><td>exécute <font color="red"><i>c</i></font> en mode commande temporaire</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^X^E ^X^Y</b></font></tt></td><td>défilement haut, bas</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="blue" size="-1">&lt;esc&gt;</font>&nbsp;<font size="-1">or</font> ^[</b></font></tt></td><td>abandonne l'édition <font color="red"><i><font color="black">→</font></i></font> mode commande</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Copie
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>"<font color="red"><i>x</i></font></b></font></tt></td><td>utilise le registre <font color="red"><i>x</i></font> pour la prochaine action</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:reg<font size="+1">↵</font></b></font></tt></td><td>affiche le contenu de tous les registres</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:reg <font color="red"><i>x</i></font><font size="+1">↵</font></b></font></tt></td><td>affiche le contenu du/des registre(s) <font color="red"><i>x</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>y<font color="red"><i>m</i></font></b></font></tt></td><td>copie le texte de la commande de mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>yy&nbsp;<font size="-1">or</font> Y</b></font></tt></td><td>copie la ligne courante</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>p P</b></font></tt></td><td>colle après, avant la position du curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>]p [p</b></font></tt></td><td>comme <tt> p</tt>, <tt> P</tt>, avec ajustement de l'indentation</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gp gP</b></font></tt></td><td>comme <tt> p</tt>, <tt> P</tt>, avec le curseur à la fin du texte</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Insertion avancée
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>g?<font color="red"><i>m</i></font></b></font></tt></td><td>encode en <i> rot13</i> le texte de mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>^A <font color="red"><i>n</i></font>^X</b></font></tt></td><td><font color="red"><i>+n</i></font>, <font color="red"><i>-n</i></font> au nombre sous le curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>gq<font color="red"><i>m</i></font></b></font></tt></td><td>justifie le texte du mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>ce <font color="red"><i>w</i></font><font size="+1">↵</font></b></font></tt></td><td>centre les lignes <font color="red"><i>r</i></font> à la largeur <font color="red"><i>w</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>le <font color="red"><i>i</i></font><font size="+1">↵</font></b></font></tt></td><td>aligne à la colonne <font color="red"><i>i</i></font> les lignes <font color="red"><i>r</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>ri <font color="red"><i>w</i></font><font size="+1">↵</font></b></font></tt></td><td>aligne à droite les lignes <font color="red"><i>r</i></font> à la largeur <font color="red"><i>w</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>!<font color="red"><i>m</i></font><font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>filtre les lignes du mvt. <font color="red"><i>m</i></font> avec la cmd. <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>!!<font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>filtre <font color="red"><i>n</i></font> lignes avec la commande <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>!<font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>filtre l'intervalle <font color="red"><i>r</i></font> avec la commande <font color="red"><i>c</i></font></td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Mode visuel
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>v V ^V</b></font></tt></td><td>sélectionne des lettres, lignes, blocs</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>o</b></font></tt></td><td>échange le curseur avec le début de la sélection</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gv</b></font></tt></td><td>démarre la sélection à la position de la précédente</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>aw as ap</b></font></tt></td><td>sélectionne un(e) mot, phrase, paragraphe</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>ab aB</b></font></tt></td><td>sélectionne un bloc ( ), un bloc <tt>{</tt> <tt>}</tt></td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Annulation, répétition &amp; registres
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>u U</b></font></tt></td><td>annule une commande, restaure la ligne</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>.&nbsp;&nbsp;^R</b></font></tt></td><td>répète une commande, annule l'annulation</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>.&nbsp; </b></font></tt></td><td>répète la commande avec le nombre <font color="red"><i>n</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>q<font color="red"><i>c</i></font> q<font color="red"><i>C</i></font></b></font></tt></td><td>enregistre, ajoute la frappe au registre <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>q</b></font></tt></td><td>stoppe l'enregistrement</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>@<font color="red"><i>c</i></font></b></font></tt></td><td>exécute le contenu du registre <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>@@</b></font></tt></td><td>répète la commande <tt> @</tt> précédente</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:@<font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>exécute le registre <font color="red"><i>c</i></font> comme une commande <i> Ex</i></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>g/<font color="red"><i>p</i></font>/<font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>exécute la commande <i> Ex</i> <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="white"><td></td><td>sur l'intervalle <font color="red"><i>r</i></font> où le motif <font color="red"><i>p</i></font> correspond</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Mouvement complexe
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>- +</b></font></tt></td><td>ligne en haut, bas sur le 1er caractère non blanc</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>B W</b></font></tt></td><td>mot séparé par un espace à gauche, droite</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gE E</b></font></tt></td><td>fin du mot séparé par un espace à gauche, droite</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>_</b></font></tt></td><td><font color="red"><i>n-1</i></font> lignes en bas sur le 1er caractère non blanc</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>g0</b></font></tt></td><td>début de ligne d'<i>écran</i></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>g^&nbsp; g$</b></font></tt></td><td>premier, dernier caractère de la ligne d'<i>écran</i></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gk gj</b></font></tt></td><td>ligne d'<i>écran</i> en haut, bas</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>f<font color="red"><i>c</i></font> F<font color="red"><i>c</i></font></b></font></tt></td><td>caractère <font color="red"><i>c</i></font> suivant, précédent</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>t<font color="red"><i>c</i></font> T<font color="red"><i>c</i></font></b></font></tt></td><td>avant le caractère <font color="red"><i>c</i></font> suivant, précédent</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>; ,</b></font></tt></td><td>répète le dernier <tt> fFtT</tt> en sens opposé</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>[[ ]]</b></font></tt></td><td>début de section en arrière, avant</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>[] ][</b></font></tt></td><td>fin de section en arrière, avant</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>[( ])</b></font></tt></td><td>(, ) en arrière, avant</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>[{&nbsp; ]}</b></font></tt></td><td><tt>{</tt>, <tt>}</tt> en arrière, avant</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>[m ]m</b></font></tt></td><td>début de méthode <i> Java</i> en arrière, avant</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>[# ]#</b></font></tt></td><td><tt>#if</tt>, <tt>#else</tt>, <tt>#endif</tt> en arrière, avant</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>[* ]*</b></font></tt></td><td>début, fin de bloc <tt>/* */</tt> en arrière, avant</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Recherche &amp; substitution
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>/<font color="red"><i>s</i></font><font size="+1">↵</font>&nbsp; ?<font color="red"><i>s</i></font><font size="+1">↵</font></b></font></tt></td><td>cherche <font color="red"><i>s</i></font> en avant, arrière</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>/<font color="red"><i>s</i></font>/<font color="red"><i>o</i></font><font size="+1">↵</font>&nbsp; ?<font color="red"><i>s</i></font>?<font color="red"><i>o</i></font><font size="+1">↵</font></b></font></tt></td><td>idem, avec un décalage <font color="red"><i>o</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>n&nbsp;<font size="-1">or</font> /<font size="+1">↵</font></b></font></tt></td><td>répète en avant la dernière recherche</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>N&nbsp;<font size="-1">or</font> ?<font size="+1">↵</font></b></font></tt></td><td>répète en arrière la dernière recherche</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b># *</b></font></tt></td><td>recherche en arrière, avant le mot sous le curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>g# g*</b></font></tt></td><td>idem, avec les correspondances partielles</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>gd gD</b></font></tt></td><td>définition locale, globale du mot sous le curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>s/<font color="red"><i>f</i></font>/<font color="red"><i>t</i></font>/<font color="red"><i>x</i></font><font size="+1">↵</font></b></font></tt></td><td>substitue <font color="red"><i>f</i></font> par <font color="red"><i>t</i></font> dans l'intervalle <font color="red"><i>r</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td></td><td><font color="red"><i>x:</i></font> <tt> g</tt>-toutes les occurrences, <tt> c</tt>-confirme</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>s <font color="red"><i>x</i></font><font size="+1">↵</font></b></font></tt></td><td>répète la subst. avec de nouveaux <font color="red"><i>r</i></font> &amp; <font color="red"><i>x</i></font></td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Caractères spéciaux de recherche
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>.&nbsp;&nbsp;&nbsp;^&nbsp; $</b></font></tt></td><td>tout caractère unique, début, fin de ligne</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>\<font color="red"><i>&lt;</i></font> \<font color="red"><i>&gt;</i></font></b></font></tt></td><td>début, fin de mot</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>[<font color="red"><i>c<font size="-2">1</font></i></font>-<font color="red"><i>c<font size="-2">2</font></i></font>]</b></font></tt></td><td>un caractère unique dans l'intervalle <font color="red"><i>c<font size="-2">1</font>..c<font size="-2">2</font></i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>[^<font color="red"><i>c<font size="-2">1</font></i></font>-<font color="red"><i>c<font size="-2">2</font></i></font>]</b></font></tt></td><td>un caractère unique hors intervalle</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>\i \f \I \F</b></font></tt></td><td>un identificateur, mot-clé&nbsp;; sans chiffres</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>\f \p \F \P</b></font></tt></td><td>un fichier, car. imprim.&nbsp;; sans chiffres</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>\s \S</b></font></tt></td><td>un espace simple, autre espacement</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>\e \t \r \b</b></font></tt></td><td><font color="blue" size="-1">&lt;esc&gt;</font>, <font color="blue" size="-1">&lt;tab&gt;</font>, <font color="blue" size="-1">&lt;<font size="+1">↵</font>&gt;</font>, <font color="blue" size="-1">&lt;<font color="red"><i><font size="+1">←</font></i></font>&gt;</font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>\= * \+</b></font></tt></td><td><font color="red"><i>0..1</i></font>, <font color="red"><i>0..<font size="+1">∞</font></i></font>, <font color="red"><i>1..<font size="+1">∞</font></i></font> des atomes précédents</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>\<font color="red"><i>|</i></font></b></font></tt></td><td>sépare deux branches (<font color="red"><i>&nbsp;<font size="+1">≡</font></i></font> <i> ou</i>)</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>\( \)</b></font></tt></td><td>groupe plusieurs éléments dans un atome</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>\&amp; \<font color="red"><i>n</i></font></b></font></tt></td><td>le motif entier, <font color="red"><i>n<font size="-2">ieme</font></i></font> groupe <tt>()</tt></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>\u \l</b></font></tt></td><td>le caractère suivant en majuscule, minuscule</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>\c \C</b></font></tt></td><td>ignore, respecte la casse</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Décalage de recherche
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>&nbsp;<font size="-1">or</font> +<font color="red"><i>n</i></font></b></font></tt></td><td><font color="red"><i>n</i></font> lignes en avant en colonne 1</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>-<font color="red"><i>n</i></font></b></font></tt></td><td><font color="red"><i>n</i></font> lignes en arrière en colonne 1</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>e+<font color="red"><i>n</i></font> e-<font color="red"><i>n</i></font></b></font></tt></td><td><font color="red"><i>n</i></font> caractères à droite, gauche de la fin</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>s+<font color="red"><i>n</i></font> s-<font color="red"><i>n</i></font></b></font></tt></td><td><font color="red"><i>n</i></font> caractères à droite, gauche du début</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>;<font color="red"><i>sc</i></font></b></font></tt></td><td>exécute la recherche <font color="red"><i>sc</i></font> suivante</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Marques et déplacement
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>m<font color="red"><i>c</i></font></b></font></tt></td><td>marque la position courante avec <font color="red"><i>c&nbsp;<font size="+1">∈</font>[a..Z]</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>`<font color="red"><i>c</i></font> `<font color="red"><i>C</i></font></b></font></tt></td><td>va à la marque <font color="red"><i>c</i></font>, <font color="red"><i>C</i></font> dans n'importe quel fichier</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>`<font color="red"><i>0..9</i></font></b></font></tt></td><td>va à la dernière position en sortie</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>``  `"</b></font></tt></td><td>va à la position avant le saut, dernière édition</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>`[ `]</b></font></tt></td><td>va au début, fin du texte préc. manipulé</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:marks<font size="+1">↵</font></b></font></tt></td><td>affiche la liste des marques actives</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:jumps<font size="+1">↵</font></b></font></tt></td><td>affiche la liste des sauts</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>^O</b></font></tt></td><td>va au <font color="red"><i>n<font size="-2">ieme</font></i></font> dernier saut dans la liste</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b><font color="red"><i>n</i></font>^I</b></font></tt></td><td>va au <font color="red"><i>n<font size="-2">ieme</font></i></font> premier saut dans la liste</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Allocation de touches &amp; abbréviation
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:map <font color="red"><i>c</i></font> <font color="red"><i>e</i></font><font size="+1">↵</font></b></font></tt></td><td>alloue <font color="red"><i>c&nbsp;<font size="+1">↦</font> e</i></font> en mode normal &amp; visuel</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:map!&nbsp; <font color="red"><i>c</i></font> <font color="red"><i>e</i></font><font size="+1">↵</font></b></font></tt></td><td>alloue <font color="red"><i>c&nbsp;<font size="+1">↦</font> e</i></font> en mode insertion &amp; cmd.</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:unmap <font color="red"><i>c</i></font><font size="+1">↵</font>&nbsp; :unmap!&nbsp; <font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>supprime l'alloc. pour <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:mk <font color="red"><i>f</i></font><font size="+1">↵</font></b></font></tt></td><td>sauvegarde les paramètres dans le fichier <font color="red"><i>f</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:ab <font color="red"><i>c</i></font> <font color="red"><i>e</i></font><font size="+1">↵</font></b></font></tt></td><td>ajoute l'abbréviation pour <font color="red"><i>c&nbsp;<font size="+1">↦</font> e</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:ab <font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>liste les abbréviations commençant par <font color="red"><i>c</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:una <font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>supprime l'abbréviation pour <font color="red"><i>c</i></font></td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Étiquettes
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:ta <font color="red"><i>t</i></font><font size="+1">↵</font></b></font></tt></td><td>va à l'étiquette <font color="red"><i>t</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>n</i></font>ta<font size="+1">↵</font></b></font></tt></td><td>va à la <font color="red"><i>n<font size="-2">ieme</font></i></font> nouvelle étiquette</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^] ^T</b></font></tt></td><td>va à l'étiquette sous le curseur, revient</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:ts <font color="red"><i>t</i></font><font size="+1">↵</font></b></font></tt></td><td>liste les étiquettes pour sélection</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:tj <font color="red"><i>t</i></font><font size="+1">↵</font></b></font></tt></td><td>va à l'étiquette ou sélectionne si plusieurs</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:tags<font size="+1">↵</font></b></font></tt></td><td>affiche la liste des étiquettes</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>n</i></font>po<font size="+1">↵</font>&nbsp; :<font color="red"><i>n</i></font>^T<font size="+1">↵</font></b></font></tt></td><td>revient de, va à la <font color="red"><i>n<font size="-2">ieme</font></i></font> dernière</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:tl<font size="+1">↵</font></b></font></tt></td><td>va à la dernière étiquette utilisée</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^W}&nbsp; :pt <font color="red"><i>t</i></font><font size="+1">↵</font></b></font></tt></td><td>prévisualise l'étiquette sous le curseur, <font color="red"><i>t</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^W]</b></font></tt></td><td>sépare la fenêtre et montre l'étiq. sous le curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^Wz&nbsp;<font size="-1">or</font> :pc<font size="+1">↵</font></b></font></tt></td><td>ferme la fenêtre de prévisualisation</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Défilement &amp; multi-fenêtrage
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^E ^Y</b></font></tt></td><td>défile une ligne en haut, bas</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^D ^U</b></font></tt></td><td>défile une demi-page en haut, bas</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^F ^B</b></font></tt></td><td>défile une page en haut, bas</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>zt&nbsp;<font size="-1">or</font> z<font size="+1">↵</font></b></font></tt></td><td>place la ligne courante en haut de la fenêtre</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>zz&nbsp;<font size="-1">or</font> z.&nbsp; </b></font></tt></td><td>place la ligne courante au centre de la fenêtre</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>zb&nbsp;<font size="-1">or</font> z-</b></font></tt></td><td>place la ligne courante au bas de la fenêtre</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>zh zl</b></font></tt></td><td>défile un caractère à droite, gauche</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>zH zL</b></font></tt></td><td>défile une demi-fenêtre à droite, gauche</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^Ws&nbsp;<font size="-1">or</font> :split<font size="+1">↵</font></b></font></tt></td><td>sépare la fenêtre courante en deux</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^Wn&nbsp;<font size="-1">or</font> :new<font size="+1">↵</font></b></font></tt></td><td>créé une nouvelle fenêtre vide</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^Wo&nbsp;<font size="-1">or</font> :on<font size="+1">↵</font></b></font></tt></td><td>agrandit la fenêtre courante</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^Wj ^Wk</b></font></tt></td><td>va à la fenêtre au dessous, dessus</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^Ww ^W^W</b></font></tt></td><td>va à la fenêtre au dessous, dessus (enroule)</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Commandes Ex (<font size="+1">↵</font>)
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:e <font color="red"><i>f</i></font></b></font></tt></td><td>édite le fichier <font color="red"><i>f</i></font>, sauf si changements</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:e!&nbsp; <font color="red"><i>f</i></font></b></font></tt></td><td>édite le fichier <font color="red"><i>f</i></font> (par défaut celui en cours)</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:wn :wN</b></font></tt></td><td>sauve le fichier et édite le suivant, précédent</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:n :N</b></font></tt></td><td>édite le fichier suivant, précédent dans la liste</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>w</b></font></tt></td><td>sauvegarde l'intervalle <font color="red"><i>r</i></font> dans le fichier en cours</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>w <font color="red"><i>f</i></font></b></font></tt></td><td>sauvegarde l'intervalle <font color="red"><i>r</i></font> dans le fichier <font color="red"><i>f</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>w<font color="red"><i>&gt;</i></font><font color="red"><i>&gt;</i></font><font color="red"><i>f</i></font></b></font></tt></td><td>ajoute l'intervalle <font color="red"><i>r</i></font> au fichier <font color="red"><i>f</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:q :q!</b></font></tt></td><td>quitte et confirme, quitte sans sauvegarder</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:wq&nbsp;<font size="-1">or</font> :x&nbsp;<font size="-1">or</font> ZZ</b></font></tt></td><td>sauvegarde et quitte</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="blue" size="-1">&lt;up&gt;</font> <font color="blue" size="-1">&lt;down&gt;</font></b></font></tt></td><td>rappele les cmd. comme celle en cours</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:r <font color="red"><i>f</i></font></b></font></tt></td><td>insère le fichier <font color="red"><i>f</i></font> sous le curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:r!&nbsp; <font color="red"><i>c</i></font></b></font></tt></td><td>insère le résultat de la cmd. <font color="red"><i>c</i></font> sous le curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:args</b></font></tt></td><td>affiche la liste des arguments</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>co&nbsp; <font color="red"><i>a</i></font> <font color="red"><i>r</i></font>m&nbsp; <font color="red"><i>a</i></font></b></font></tt></td><td>copie, déplace l'interv. <font color="red"><i>r</i></font> après la ligne <font color="red"><i>a</i></font></td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Intervalles Ex
 +
</b></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>, ;&nbsp; </b></font></tt></td><td>sépare deux lignes, la première ligne</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b><font color="red"><i>n</i></font></b></font></tt></td><td>un numéro de ligne absolu <font color="red"><i>n</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>.&nbsp;&nbsp;&nbsp;$</b></font></tt></td><td>la ligne courante, la dernière ligne</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>% *</b></font></tt></td><td>le fichier entier, la sélection visuelle</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>'<font color="red"><i>t</i></font></b></font></tt></td><td>la position de la marque <font color="red"><i>t</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>/<font color="red"><i>p</i></font>/ ?<font color="red"><i>p</i></font>?</b></font></tt></td><td>la ligne suivante, précédente où <font color="red"><i>p</i></font> correspond</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>+<font color="red"><i>n</i></font> -<font color="red"><i>n</i></font></b></font></tt></td><td><font color="red"><i>+n</i></font>, <font color="red"><i>-n</i></font> au numéro de ligne précédent</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Pliage
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>zf<font color="red"><i>m</i></font></b></font></tt></td><td>créé un pli avec le mouvement <font color="red"><i>m</i></font></td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:<font color="red"><i>r</i></font>fo</b></font></tt></td><td>créé un pli sur l'intervalle <font color="red"><i>r</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>zd zE</b></font></tt></td><td>supprime le pli sous le curseur, tous</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>zo zc zO zC</b></font></tt></td><td>ouvre, ferme un pli, récursivement</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>[z ]z</b></font></tt></td><td>début, fin du pli ouvert en cours</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>zj zk</b></font></tt></td><td>début, fin du pli suivant, précédent</td></tr>
 +
<tr><td colspan="2" bgcolor="lightgrey"><br><b>Divers
 +
</b></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:sh<font size="+1">↵</font>&nbsp; :!<font color="red"><i>c</i></font><font size="+1">↵</font></b></font></tt></td><td>lance un shell, exécute <font color="red"><i>c</i></font> dans un shell</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>K</b></font></tt></td><td>affiche l'aide <tt> man</tt> du mot-clé sous le curseur</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:make<font size="+1">↵</font></b></font></tt></td><td>lance <tt> make</tt>, lit les erreurs et va à la 1ère</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:cn<font size="+1">↵</font>&nbsp; :cp<font size="+1">↵</font></b></font></tt></td><td>affiche l'erreur suivante, précédente</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:cl<font size="+1">↵</font>&nbsp; :cf<font size="+1">↵</font></b></font></tt></td><td>liste les erreurs, depuis un fichier</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>^L ^G</b></font></tt></td><td>ré-affiche l'écran, nom de fichier et position</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>g^G</b></font></tt></td><td>montre la position détaillée du curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>ga</b></font></tt></td><td>montre la valeur ASCII du caractère</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>gf</b></font></tt></td><td>ouvre le fichier sous le curseur</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:redir<font color="red"><i>&gt;</i></font><font color="red"><i>f</i></font><font size="+1">↵</font></b></font></tt></td><td>redirige la sortie dans le fichier <font color="red"><i>f</i></font></td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>:mkview <font color="red"><i>[f]</i></font></b></font></tt></td><td>sauve la config. [dans le fichier <font color="red"><i>f</i></font>]</td></tr>
 +
<tr bgcolor="white"><td><tt><font size="+1"><b>:loadview <font color="red"><i>[f]</i></font></b></font></tt></td><td>charge la config. [depuis le fichier <font color="red"><i>f</i></font>]</td></tr>
 +
<tr bgcolor="#dfe2ff"><td><tt><font size="+1"><b>^@ ^K ^_&nbsp; \&nbsp; F<font color="red"><i>n</i></font> ^F<font color="red"><i>n</i></font></b></font></tt></td><td>touches inusitées</td></tr>
 +
</tbody></table><br><br>
 +
<i>Copyright (C) 2005 by Laurent GRÉGOIRE
 +
(<a href="mailto:laurent.gregoire@icam.fr">laurent.gregoire@icam.fr</a>)<br>
 +
Translated from English by Laurent Grégoire
 +
<br>Converted from vimqrc-fr.tex using a <a href="http://www.python.org">Python</a> script.<br></i>
 +
You can find the latest revision at
 +
<a href="http://tnerual.eriogerg.free.fr">http://tnerual.eriogerg.free.fr</a><br>

Version du 7 décembre 2012 à 13:48

Sommaire

Commandes de bases

Commande Alternative Explication
k Se déplacer vers le haut
j Se déplacer vers le bas
h Se déplacer vers la gauche
l Se déplacer vers la droite

Les mouvements

Commande Alternative Explication
$ Aller en fin de ligne
0 Aller en début de ligne
^ Aller au premier caractère qui n'est pas un espace ou une tab de la ligne
gg Aller en début de document
G Aller en fin de document
:<n> Aller à la ligne <n> (où <n> est un nombre entier)
f<s> Jusqu'au caractère <s> en allant vers l'avant
F<s> Jusqu'au caractère <s> en allant vers l'arrière
t<s> Jusqu'au caractère <s> en allant vers l'avant et en s'arrêtant juste avant
T<s> Jusqu'au caractère <s> en allant vers l'arrière et en s'arrêtant juste avant

Suppression

Commande Alternative Explication
x Le caractère sous le curseur
s Comme x mais entre en mode insertion après
dd La ligne sous le curseur
dw Le mot sous le curseur
d$ D Supprime jusqu'à la fin de la ligne
d<mouvement> Du curseur à la cible du déplacement
d<sélection> La sélection précisée
c Se comporte comme d mais entre en mode insertion après la suppression
u Annulation de la dernière action
CTRL+R Remettre (annuler l'annulation)

Remplacement

Le caractère sous le curseur r puis le caractère que l'on veut mettre. Exemple: sur le mot "lepin", se positionner sur le "e", puis faire un ra remplacera le "e" par un "a".

Entrer en mode remplacement: <Insert><Insert> (double appui sur la touche <Insert>) vous permettra d'entrer en mode remplacement, c'est à dire que le texte que vous saisirez remplacera ce qu'il y a en dessous du curseur. La touche R permet également de le faire.

Macro

Nous ouvrons ce fichier avec vim, puis, pour déclencher l'enregistrement de la macro, nous tapons :

qa

q = enregistrement de la macro

a = nom de la macro

Un avis : Enregistrement survient et tout ce que nous tapons à présent est l'enregistrement de cette macro nommée “a”. Nous pouvons voir en direct sur le texte ce que notre commande vim exécute sur la ligne visée. Terminer la macro par :

q

En cas d'erreur, il suffit de quitter la macro par :

q

puis, d'utiliser la lettre :

u

pour restaurer la ligne et recommencer la macro différemment, en la nommant de manière identique. Pour relancer cette macro nommée “a”, tapons :

@a
2@a

2 = exécuter 2 fois. À noter que le nombre 2 de la répétition s'adapte aux nombres de lignes que nous voulons modifier. Il peut être supérieur à l'exemple présenté ici. @a = la macro nommée “a”

Et sur validation, les lignes visées seront modifiées.

Il est possible de modifier les macros ! Il suffit de manipuler les registres (registers) qui stockent (entre autres) le contenu des macros. Pour les voir, faites :

:registers

Pour faire appel à ces registres il faut taper " suivi du nom du registre. Par exemple pour coller le registre t dans le document courant je peux faire :

"tp

Il est alors possible d'opérer à toute sorte de changements sur cette ligne pour finalement la recopier dans le registre :

"ty

Voilà, vous savez maintenant comment modifier vos macros.

Options pour les substitutions

 
%s/foo/bar/g :

globale

 
%s/foo/bar/gc :

globale et demande confirmation

 
%s/foo/bar/gci :

globale, demande confirmation et ignore la caste

 
%s/foo/bar/gcI :

globale, demande confirmation et respect la caste

range:
{number}	an absolute line number
.		the current line			  *:.*
$		the last line in the file		  *:$*
%		equal to 1,$ (the entire file)		  *:%*
*		equal to '<,'> (the Visual area)	  *:star*
't		position of mark t (lower case)		  *:'*
/{pattern}[/]	the next line where {pattern} matches	  *:/*
?{pattern}[?]	the previous line where {pattern} matches *:?*
\/		the next line where the previously used search
		pattern matches
\?		the previous line where the previously used search
		pattern matches
\&		the next line where the previously used substitute

pattern matches

Action sur recherche

:g/search pattern/command
exemple supprimer les lignes vides
:g/^$/d

Astuces

Afficher les numéros de lignes:

:set nu et :set nu! (pour les cacher)

Liens externes

Intervale

On peut donner un intervalle à toute les fonctions du mode Ex (ou command), celles qui commencent par : pour être clair. La combinaison d3w est une commande du mode normal, donc si tu lui donner un intervalle tu dois utiliser la commande :normal pour exécuter des commandes du mode normal dans le mode Ex:

:10,20 normal d3w

Memo total

source: http://tnerual.eriogerg.free.fr/vimqrc-fr.html

VIM - CARTE DE RÉFÉRENCE RAPIDE

<tbody> </tbody>

Mouvement simple
h l k jlettre à gauche, droite ; ligne en haut, bas
b wmot à gauche, droite
ge efin du mot à gauche, droite
{  }début du paragraphe précédent, suivant
( )début de la phrase précédente, suivante
0 gmdébut, milieu de ligne
^  $première, dernière lettre de la ligne
nG nggligne n, par défaut la dernière, première
n%pourcentage n du document (<i>n</i> obligatoire)
n|colonne n de la ligne courante
%autre parenthèse, crochet, commentaire, #define
nH nLligne n depuis le début, la fin de la fenêtre
Mmilieu de la fenêtre

Insertion & remplacement mode insertion
i ainsertion avant, après le curseur
I Ainsertion au début, fin de ligne
gIinsertion à la première colonne
o Onouvelle ligne au dessous, dessus du curseur
rcremplace la lettre sous le curseur par c
grccomme r, mais sans changer le formattage
Rremplace le texte à partir du curseur
gRcomme R, mais sans changer le formattage
cmremplace le texte du mouvement m
cc or Sremplace la ligne courante
Cremplace jusqu'à la fin de la ligne
sremplace un caractère et insère
~change la casse et avance d'une lettre
g~mchange la casse du mouvement m
gum gUm minusc., majusc. le texte du mvt. m
<m >mdécale à gauche, droite le texte du mvt. m
n<< n>>décale n lignes à gauche, droite

Suppression
x Xsupprime le caractère sous, avant le curseur
dmsupprime le texte du mouvement m
dd Dsupprime la ligne courante, la fin de la ligne
J gJjointe la ligne courante et suivante, sans espace
:rdsupprime les lignes d'intervalle r
:rdxsupprime l'intervalle r dans le registre x

Mode insertion
^Vc ^Vninsère le car. c littéralement, valeur déc. n
^Ainsère le texte précédemment inséré
^@comme ^A & stoppe l'insertion mode commande
^Rx ^R^Rxinsère le contenu du reg. x, littéralement
^N ^Psaisie automatique avant, après le curseur
^Wsupprime le mot avant le curseur
^Usupprime le texte inséré dans la ligne en cours
^D ^Tdécale à gauche, droite d'une tabulation
^Kc1c2 or c1c2saisie le digraphe \c1,c2\
^Ocexécute c en mode commande temporaire
^X^E ^X^Ydéfilement haut, bas
<esc> or ^[abandonne l'édition mode commande

Copie
"xutilise le registre x pour la prochaine action
:regaffiche le contenu de tous les registres
:reg xaffiche le contenu du/des registre(s) x
ymcopie le texte de la commande de mouvement m
yy or Ycopie la ligne courante
p Pcolle après, avant la position du curseur
]p [pcomme p, P, avec ajustement de l'indentation
gp gPcomme p, P, avec le curseur à la fin du texte

Insertion avancée
g?mencode en rot13 le texte de mouvement m
n^A n^X+n, -n au nombre sous le curseur
gqmjustifie le texte du mouvement m
:rce wcentre les lignes r à la largeur w
:rle ialigne à la colonne i les lignes r
:rri waligne à droite les lignes r à la largeur w
!mcfiltre les lignes du mvt. m avec la cmd. c
n!!cfiltre n lignes avec la commande c
:r!cfiltre l'intervalle r avec la commande c

Mode visuel
v V ^Vsélectionne des lettres, lignes, blocs
oéchange le curseur avec le début de la sélection
gvdémarre la sélection à la position de la précédente
aw as apsélectionne un(e) mot, phrase, paragraphe
ab aBsélectionne un bloc ( ), un bloc { }

Annulation, répétition & registres
u Uannule une commande, restaure la ligne
.  ^Rrépète une commande, annule l'annulation
nrépète la commande avec le nombre n
qc qCenregistre, ajoute la frappe au registre c
qstoppe l'enregistrement
@cexécute le contenu du registre c
@@répète la commande @ précédente
:@cexécute le registre c comme une commande Ex
:rg/p/cexécute la commande Ex c
sur l'intervalle r où le motif p correspond

Mouvement complexe
- +ligne en haut, bas sur le 1er caractère non blanc
B Wmot séparé par un espace à gauche, droite
gE Efin du mot séparé par un espace à gauche, droite
n_n-1 lignes en bas sur le 1er caractère non blanc
g0début de ligne d'écran
g^  g$premier, dernier caractère de la ligne d'écran
gk gjligne d'écran en haut, bas
fc Fccaractère c suivant, précédent
tc Tcavant le caractère c suivant, précédent
; ,répète le dernier fFtT en sens opposé
[[ ]]début de section en arrière, avant
[] ][fin de section en arrière, avant
[( ])(, ) en arrière, avant
[{  ]}{, } en arrière, avant
[m ]mdébut de méthode Java en arrière, avant
[# ]##if, #else, #endif en arrière, avant
[* ]*début, fin de bloc /* */ en arrière, avant

Recherche & substitution
/s  ?scherche s en avant, arrière
/s/o  ?s?oidem, avec un décalage o
or /répète en avant la dernière recherche
or ?répète en arrière la dernière recherche
# *recherche en arrière, avant le mot sous le curseur
g# g*idem, avec les correspondances partielles
gd gDdéfinition locale, globale du mot sous le curseur
:rs/f/t/xsubstitue f par t dans l'intervalle r
x: g-toutes les occurrences, c-confirme
:rs xrépète la subst. avec de nouveaux r & x

Caractères spéciaux de recherche
.   ^  $tout caractère unique, début, fin de ligne
\< \>début, fin de mot
[c1-c2]un caractère unique dans l'intervalle c1..c2
[^c1-c2]un caractère unique hors intervalle
\i \f \I \Fun identificateur, mot-clé ; sans chiffres
\f \p \F \Pun fichier, car. imprim. ; sans chiffres
\s \Sun espace simple, autre espacement
\e \t \r \b<esc>, <tab>, <>, <>
\= * \+0..1, 0.., 1.. des atomes précédents
\|sépare deux branches (  ou)
\( \)groupe plusieurs éléments dans un atome
\& \nle motif entier, nieme groupe ()
\u \lle caractère suivant en majuscule, minuscule
\c \Cignore, respecte la casse

Décalage de recherche
n or +nn lignes en avant en colonne 1
-nn lignes en arrière en colonne 1
e+n e-nn caractères à droite, gauche de la fin
s+n s-nn caractères à droite, gauche du début
;scexécute la recherche sc suivante

Marques et déplacement
mcmarque la position courante avec [a..Z]
`c `Cva à la marque c, C dans n'importe quel fichier
`0..9va à la dernière position en sortie
`` `"va à la position avant le saut, dernière édition
`[ `]va au début, fin du texte préc. manipulé
:marksaffiche la liste des marques actives
:jumpsaffiche la liste des sauts
n^Ova au nieme dernier saut dans la liste
n^Iva au nieme premier saut dans la liste

Allocation de touches & abbréviation
:map c ealloue e en mode normal & visuel
:map!  c ealloue e en mode insertion & cmd.
:unmap c  :unmap!  csupprime l'alloc. pour c
:mk fsauvegarde les paramètres dans le fichier f
:ab c eajoute l'abbréviation pour e
:ab cliste les abbréviations commençant par c
:una csupprime l'abbréviation pour c

Étiquettes
:ta tva à l'étiquette t
:ntava à la nieme nouvelle étiquette
^] ^Tva à l'étiquette sous le curseur, revient
:ts tliste les étiquettes pour sélection
:tj tva à l'étiquette ou sélectionne si plusieurs
:tagsaffiche la liste des étiquettes
:npo  :n^Trevient de, va à la nieme dernière
:tlva à la dernière étiquette utilisée
^W}  :pt tprévisualise l'étiquette sous le curseur, t
^W]sépare la fenêtre et montre l'étiq. sous le curseur
^Wz or :pcferme la fenêtre de prévisualisation

Défilement & multi-fenêtrage
^E ^Ydéfile une ligne en haut, bas
^D ^Udéfile une demi-page en haut, bas
^F ^Bdéfile une page en haut, bas
zt or zplace la ligne courante en haut de la fenêtre
zz or z.  place la ligne courante au centre de la fenêtre
zb or z-place la ligne courante au bas de la fenêtre
zh zldéfile un caractère à droite, gauche
zH zLdéfile une demi-fenêtre à droite, gauche
^Ws or :splitsépare la fenêtre courante en deux
^Wn or :newcréé une nouvelle fenêtre vide
^Wo or :onagrandit la fenêtre courante
^Wj ^Wkva à la fenêtre au dessous, dessus
^Ww ^W^Wva à la fenêtre au dessous, dessus (enroule)

Commandes Ex ()
:e fédite le fichier f, sauf si changements
:e!  fédite le fichier f (par défaut celui en cours)
:wn :wNsauve le fichier et édite le suivant, précédent
:n :Nédite le fichier suivant, précédent dans la liste
:rwsauvegarde l'intervalle r dans le fichier en cours
:rw fsauvegarde l'intervalle r dans le fichier f
:rw>>fajoute l'intervalle r au fichier f
:q :q!quitte et confirme, quitte sans sauvegarder
:wq or :x or ZZsauvegarde et quitte
<up> <down>rappele les cmd. comme celle en cours
:r finsère le fichier f sous le curseur
:r!  cinsère le résultat de la cmd. c sous le curseur
:argsaffiche la liste des arguments
:rco  a racopie, déplace l'interv. r après la ligne a

Intervalles Ex
, ;  sépare deux lignes, la première ligne
nun numéro de ligne absolu n
.   $la ligne courante, la dernière ligne
% *le fichier entier, la sélection visuelle
'tla position de la marque t
/p/ ?p?la ligne suivante, précédente où p correspond
+n -n+n, -n au numéro de ligne précédent

Pliage
zfmcréé un pli avec le mouvement m
:rfocréé un pli sur l'intervalle r
zd zEsupprime le pli sous le curseur, tous
zo zc zO zCouvre, ferme un pli, récursivement
[z ]zdébut, fin du pli ouvert en cours
zj zkdébut, fin du pli suivant, précédent

Divers
:sh  :!clance un shell, exécute c dans un shell
Kaffiche l'aide man du mot-clé sous le curseur
:makelance make, lit les erreurs et va à la 1ère
:cn  :cpaffiche l'erreur suivante, précédente
:cl  :cfliste les erreurs, depuis un fichier
^L ^Gré-affiche l'écran, nom de fichier et position
g^Gmontre la position détaillée du curseur
gamontre la valeur ASCII du caractère
gfouvre le fichier sous le curseur
:redir>fredirige la sortie dans le fichier f
:mkview [f]sauve la config. [dans le fichier f]
:loadview [f]charge la config. [depuis le fichier f]
^@ ^K ^_  \  Fn ^Fntouches inusitées


Copyright (C) 2005 by Laurent GRÉGOIRE (<a href="mailto:laurent.gregoire@icam.fr">laurent.gregoire@icam.fr</a>)
Translated from English by Laurent Grégoire
Converted from vimqrc-fr.tex using a <a href="http://www.python.org">Python</a> script.
You can find the latest revision at <a href="http://tnerual.eriogerg.free.fr">http://tnerual.eriogerg.free.fr</a>

Outils personnels