From 19ab89e5a94d1bc1ba973e612b1f10822fa1e722 Mon Sep 17 00:00:00 2001
From: george <george>
Date: Thu, 27 Mar 2003 15:34:53 +0000
Subject: [PATCH] =?UTF-8?q?=C3=87a=20n'a=20rien=20=C3=A0=20foutre=20dans?=
 =?UTF-8?q?=20meta.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 meta/biblio.tml => armoire.tml |   0
 {meta/faq => faq}/flrn.tml     |   0
 {meta/faq => faq}/index.tml    |   0
 {meta/faq => faq}/mail.tml     |   0
 {meta/faq => faq}/vie.tml      |   0
 index.tml                      |   8 +
 internet/index.tml             |   2 +-
 meta/index.tml                 |  11 --
 unix/editeurs/vim.tml          | 306 +++++++++++++++++++++++++++++++++
 9 files changed, 315 insertions(+), 12 deletions(-)
 rename meta/biblio.tml => armoire.tml (100%)
 rename {meta/faq => faq}/flrn.tml (100%)
 rename {meta/faq => faq}/index.tml (100%)
 rename {meta/faq => faq}/mail.tml (100%)
 rename {meta/faq => faq}/vie.tml (100%)

diff --git a/meta/biblio.tml b/armoire.tml
similarity index 100%
rename from meta/biblio.tml
rename to armoire.tml
diff --git a/meta/faq/flrn.tml b/faq/flrn.tml
similarity index 100%
rename from meta/faq/flrn.tml
rename to faq/flrn.tml
diff --git a/meta/faq/index.tml b/faq/index.tml
similarity index 100%
rename from meta/faq/index.tml
rename to faq/index.tml
diff --git a/meta/faq/mail.tml b/faq/mail.tml
similarity index 100%
rename from meta/faq/mail.tml
rename to faq/mail.tml
diff --git a/meta/faq/vie.tml b/faq/vie.tml
similarity index 100%
rename from meta/faq/vie.tml
rename to faq/vie.tml
diff --git a/index.tml b/index.tml
index 76370b7..fa7686d 100644
--- a/index.tml
+++ b/index.tml
@@ -41,6 +41,14 @@ n'est pas directement li
 ��papier�� (guides de survie, hublot, docs de rentr�e, articles pour le
 BOcal).
 </li>
+<li>
+<a href="faq/"><strong>FAQ</strong></a>�: Les foires aux questions des
+tuteurs, les questions fr�quemment pos�es sur diff�rents sujets
+(<a href="faq/mail.html">le courrier �lectronique</a>,
+<a href="faq/flrn.html">forum</a>,
+<a href="faq/vie.html">la vie en salle info</a>).
+</li>
+
 </ul>
 
 <p>
diff --git a/internet/index.tml b/internet/index.tml
index 214c26e..62f9b6a 100644
--- a/internet/index.tml
+++ b/internet/index.tml
@@ -126,7 +126,7 @@ l'utilisation.
 interactive)</a></li>
 <li> <a href="forum/">Le forum des �l�ves</a>, avec la transcription
 HTML des <a href="forum/bienvenue.html">messages d'introduction</a> ou
-encore une <a href="&url.tuteurs;meta/faq/flrn.html">FAQ</a>.</li>
+encore une <a href="&url.tuteurs;faq/flrn.html">FAQ</a>.</li>
 <li> <a href="news.html">Les news Usenet</a> en g�n�ral</li>
 <li> <a href="usenet-fr.html">Guide de Usenet-fr</a>, la hi�rarchie francophone</li>
 <li> <a href="irc.html">IRC</a></li>
diff --git a/meta/index.tml b/meta/index.tml
index 363e6ba..952aea0 100644
--- a/meta/index.tml
+++ b/meta/index.tml
@@ -35,17 +35,6 @@ utiliser ce site
 termes pour mieux comprendre le contenu de ce site.
 </li>
 
-<li>
-<a href="biblio.html">L'armoire de la salle S</a>
-</li>
-
-<li>
-<a href="faq/">Les foires aux questions des tuteurs</a>�: les questions
-fr�quemment pos�es sur diff�rents sujets (<a href="faq/mail.html">le
-courrier �lectronique</a>, <a href="faq/flrn.html">forum</a>, <a
-href="faq/vie.html">la vie en salle info</a>).
-</li>
-
 <li>
 <a href="sites.html">Des sites utiles</a>.
 </li>
diff --git a/unix/editeurs/vim.tml b/unix/editeurs/vim.tml
index 09594de..d944800 100644
--- a/unix/editeurs/vim.tml
+++ b/unix/editeurs/vim.tml
@@ -21,6 +21,312 @@ commande si elle est sp
 </p>
 </div>
 
+<h2>Concepts de base</h2>
+
+<h3>Les deux modes</h3>
+
+<p>
+Vi poss�de deux modes. En fait, ce n'est pas vrai, il en poss�de plus, et
+Vim encore plus, mais il y en a deux qui sont plus importants que les autres
+pour comprendre le fonctionnement. L'un de ces modes s'appelle le <em>mode
+insertion</em>�: c'est dans ce mode-l� qu'on tape l'essentiel du texte. La
+particularit� de Vi est que ce mode propose tr�s  peu de fonctions de
+manipulation du texte (recherche, copier-coller, sauvegarde). En effet, la
+manipulation du texte se fait en <em>mode normal</em>�: dans ce mode, �
+peu pr�s tous les caract�res ont une signification et d�clenchent des
+modifications du texte ou un d�placement du curseur.
+</p>
+
+<p>
+Il est possible, avec Vi, de d�finir de nouvelles touches pour des actions.
+Quand on d�bute, il est tentant de d�finir des touches pour les actions les
+plus fr�quentes (sauver, rechercher, quitter, copier, coller), et de rester
+tout le temps en mode insertion. L'usage montre que c'est en g�n�ral une
+mauvaise id�e�: une fois l'habitude des deux modes prises, et l'automatisme
+du changement de mode connu des doigts, l'efficacit� cro�t avec
+l'utilisation des commandes �volu�es. Autant prendre l'habutude rapidement
+donc.
+</p>
+
+<div class="encadre">
+<p>
+On revient en mode normal avec la touche <code>Escape</code>
+</p>
+</div>
+
+<p>
+Suivant la configuration, le changement peut ne prendre effet qu'au moment
+o� la touche suivante est tap�e. En cas de probl�me, <kbd>Ctrl-C</kbd>
+ram�ne <em>toujours</em> en mode normal.
+</p>
+
+<h3>Action et d�placement</h3>
+
+<p>
+Beaucoup de commandes de Vi (en mode normal, donc) servent � d�placer le
+curseur. Vers la droite ou la gauche, le haut et le bas bien s�r, mais aussi
+de paragraphe en paragraphe, de mot en mot, en sautant � des marques
+pr�d�finies ou en recherchant rapidement un caract�re donn�, etc.
+</p>
+
+<p>
+Vi a aussi des commandes pour supprimer, copier, ou d'autres plus exotiques,
+comme passer en majuscules. C'est bien beau, mais supprimer ou copier
+quoi�? Faut-il une commande pour supprimer un mot, une autre pous supprimer
+une ligne, encore une autre pour supprimer un paragraphe, etc.�? L�, on
+d�couvre un des aspects les plus astucieux de Vi�: les commandes d'action
+d�finissent ce qu'il y a � faire, mais attendent ensuite une commande de
+d�placement. L'action est alors appliqu�e � tout le texte parcouru par le
+curseur dans le d�placement.
+</p>
+
+<p>
+Par exemple la commande <kbd>w</kbd> avance jusqu'au mot suivant, la
+commande <kbd>d</kbd> est celle pour effacer. Alors <kbd>dw</kbd> supprime
+tout du curseur au d�but du mot suivant.
+</p>
+
+<p>
+Avec ce syst�me, conna�tre n commandes de d�placement et m commandes
+d'action se conjuguent en n�m possibilit�s de manipulations diff�rentes.
+</p>
+
+
+<h2>Principales commandes</h2>
+
+<p>
+Voici un tableau r�capitulant les principales commandes de Vim. Les
+commandes marqu�es ��action�� attendent une commande de d�placement pour
+agir (cette d�nomination n'est pas standard), et agissent alors sur le texte
+toucert par le d�placement ainsi d�sign�. Certains des termes utilis�s dans
+ce tableau seront expliqu�s un peu plus loin. Cette liste n'est pas
+exhaustive du tout.
+</p>
+
+<table class="tableau">
+<tr><th>Commande</th><th>Sens</th><th>Type</th><th>Effet</th></tr>
+<tr><td><kbd>i</kbd></td><td>insert</td><td></td><td>passe en mode insertion</td></tr>
+<tr><td><kbd>a</kbd></td><td>append</td><td></td><td>passe en mode insertion en faisant avancer le curseur</td></tr>
+<tr><td><kbd>o</kbd></td><td>open</td><td></td><td>passe en mode insertion en cr�ant une nouvelle ligne sous le curseur</td></tr>
+<tr><td><kbd>O</kbd></td><td>open</td><td></td><td>passe en mode insertion en cr�ant une nouvelle ligne au dessus du curseur</td></tr>
+<tr><td><kbd>R</kbd></td><td>replace</td><td></td><td>passe en mode remplacement</td></tr>
+<tr><td><kbd>A</kbd></td><td></td><td></td><td>passe en mode insertion en allant � la fin de la ligne</td></tr>
+<tr><td><kbd>I</kbd></td><td></td><td></td><td>passe en mode insertion en allant au d�but de la ligne</td></tr>
+<tr><td><kbd>v</kbd></td><td>visual</td><td></td><td>passe en mode visuel</td></tr>
+<tr><td><kbd>V</kbd></td><td></td><td></td><td>passe en mode visuel par ligne</td></tr>
+<tr><td><kbd>Ctrl-V</kbd></td><td></td><td></td><td>passe en mode visuel par bloc</td></tr>
+
+<tr><td><kbd>h</kbd></td><td></td><td>d�placement</td><td>d�place le curseur vers la gauche</td></tr>
+<tr><td><kbd>j</kbd></td><td></td><td>d�placement</td><td>d�place le curseur vers le bas</td></tr>
+<tr><td><kbd>k</kbd></td><td></td><td>d�placement</td><td>d�place le curseur vers le haut</td></tr>
+<tr><td><kbd>l</kbd></td><td></td><td>d�placement</td><td>d�place le curseur vers la droite</td></tr>
+<tr><td><kbd>w</kbd></td><td>word</td><td>d�placement</td><td>avance d'un mot</td></tr>
+<tr><td><kbd>b</kbd></td><td>back</td><td>d�placement</td><td>recule d'un mot</td></tr>
+<tr><td><kbd>e</kbd></td><td>end</td><td>d�placement</td><td>avance jusqu'� la fin d'un mot</td></tr>
+<tr><td><kbd>W</kbd></td><td></td><td>d�placement</td><td>avance d'un MOT</td></tr>
+<tr><td><kbd>B</kbd></td><td></td><td>d�placement</td><td>recule d'un MOT</td></tr>
+<tr><td><kbd>E</kbd></td><td></td><td>d�placement</td><td>avance jusqu'� la fin d'un MOT</td></tr>
+<tr><td><kbd>f<i>x</i></kbd></td><td>forward</td><td>d�placement</td><td>avance jusqu'au prochain <i>x</i></td></tr>
+<tr><td><kbd>F<i>x</i></kbd></td><td></td><td>d�placement</td><td>recule jusqu'au <i>x</i> pr�c�dent</td></tr>
+<tr><td><kbd>t<i>x</i></kbd></td><td></td><td>d�placement</td><td>avance jusqu'� juste avant le prochain <i>x</i></td></tr>
+<tr><td><kbd>T<i>x</i></kbd></td><td></td><td>d�placement</td><td>recule jusqu'� juste apr�s le <i>x</i> pr�c�dent</td></tr>
+<tr><td><kbd>gg</kbd></td><td></td><td>d�placement</td><td>va au d�but du texte</td></tr>
+<tr><td><kbd>G</kbd></td><td></td><td>d�placement</td><td>va � la fin du texte</td></tr>
+<tr><td><kbd>$</kbd></td><td></td><td>d�placement</td><td>va � la fin de la ligne</td></tr>
+<tr><td><kbd>0</kbd></td><td></td><td>d�placement</td><td>va au d�but de la ligne</td></tr>
+<tr><td><kbd>{</kbd></td><td></td><td>d�placement</td><td>va au d�but du paragraphe</td></tr>
+<tr><td><kbd>}</kbd></td><td></td><td>d�placement</td><td>va � la fin du paragraphe</td></tr>
+<tr><td><kbd>(</kbd></td><td></td><td>d�placement</td><td>va au d�but de la phrase</td></tr>
+<tr><td><kbd>)</kbd></td><td></td><td>d�placement</td><td>va � la fin de la phrase</td></tr>
+<tr><td><kbd>n</kbd></td><td>next</td><td>d�placement</td><td>continue une recherche</td></tr>
+<tr><td><kbd>N</kbd></td><td></td><td>d�placement</td><td>continue une recherche, en sens inverse</td></tr>
+
+<tr><td><kbd>u</kbd></td><td>undo</td><td></td><td>annule la derni�re action</td></tr>
+<tr><td><kbd>Ctrl-R</kbd></td><td>redo</td><td></td><td>refait la derni�re action annul�e</td></tr>
+<tr><td><kbd>.</kbd></td><td>redo</td><td></td><td>r�p�te la derni�re op�ration</td></tr>
+<tr><td><kbd>x</kbd></td><td></td><td></td><td>supprime un caract�re vers la droite (��delete��)</td></tr>
+<tr><td><kbd>X</kbd></td><td></td><td></td><td>supprime un caract�re vers la gauche (��backspace��)</td></tr>
+<tr><td><kbd>s</kbd></td><td>substitute</td><td></td><td>supprime un caract�re et passe en mode insertion</td></tr>
+<tr><td><kbd>r<i>x</i></kbd></td><td>replace</td><td></td><td>remplace un caract�re par <i>x</i></td></tr>
+<tr><td><kbd>p</kbd></td><td>paste</td><td></td><td>colle un registre apr�s le curseur</td></tr>
+<tr><td><kbd>P</kbd></td><td></td><td></td><td>colle un registre avant le curseur</td></tr>
+<tr><td><kbd>~</kbd></td><td></td><td></td><td>passe un caract�re de majuscule en minuscule ou l'inverse</td></tr>
+<tr><td><kbd>/</kbd></td><td></td><td></td><td>fais une recherche</td></tr>
+<tr><td><kbd>?</kbd></td><td></td><td></td><td>fais une recherche vers l'arri�re</td></tr>
+<tr><td><kbd>*</kbd></td><td></td><td></td><td>cherche le mot sous le curseur</td></tr>
+<tr><td><kbd>#</kbd></td><td></td><td></td><td>cherche le mot sous le curseur vers l'arri�re</td></tr>
+
+<tr><td><kbd>d</kbd></td><td>delete</td><td>action</td><td>supprime</td></tr>
+<tr><td><kbd>c</kbd></td><td>change</td><td>action</td><td>supprime et passe en mode insertion</td></tr>
+<tr><td><kbd>y</kbd></td><td>yank</td><td>action</td><td>copie dans un registre</td></tr>
+<tr><td><kbd>gu</kbd></td><td></td><td>action</td><td>passe en minuscules</td></tr>
+<tr><td><kbd>gU</kbd></td><td></td><td>action</td><td>passe en majuscules</td></tr>
+<tr><td><kbd>g?</kbd></td><td></td><td>action</td><td>passe en rot13</td></tr>
+<tr><td><kbd>&lt;</kbd></td><td></td><td>action</td><td>d�cale vers la gauche</td></tr>
+<tr><td><kbd>&gt;</kbd></td><td></td><td>action</td><td>d�cale vers la droite</td></tr>
+<tr><td><kbd>gq</kbd></td><td></td><td>action</td><td>recoupe les lignes</td></tr>
+<tr><td><kbd>=</kbd></td><td></td><td>action</td><td>met en forme un programme</td></tr>
+
+<tr><td><kbd>"</kbd><i>x</i></td><td></td><td></td><td>s�lectionne le registre <i>x</i></td></tr>
+<tr><td><kbd>m</kbd><i>x</i></td><td></td><td></td><td>pose la marque <i>x</i></td></tr>
+<tr><td><kbd>'</kbd><i>x</i></td><td></td><td>d�placement</td><td>va � la marque <i>x</i> (par ligne)</td></tr>
+<tr><td><kbd>`</kbd><i>x</i></td><td></td><td>d�placement</td><td>va � la marque <i>x</i> (par caract�re)</td></tr>
+</table>
+
+<p>
+La plupart des commandes peuvent �tre pr�c�d�es d'un nombre, tap�
+directement avec les chiffres�: ce nombre va alors en g�n�ral multiplier
+l'action. Ainsi, puisque <kbd>w</kbd> avance d'un mot, <kbd>42</kbd> avance
+de 42 mots.
+</p>
+
+<p>
+Le mode remplacement est similaire au mode insertion, mais les caract�res
+viennent remplacer ceux qui se trouvaient auparavant. Les modes visuels sont
+des modes utilis�s pour s�lectionner du texte, nous verrons leur fonction
+plus en d�tail plus bas.
+</p>
+
+<p>
+Un mot est une suite de lettres et de chiffres, ou une suite de signes
+autres, except�s les espaces. Un ��MOT�� est une suite de signe qui ne
+sont pas des espaces. Ainsi, <code>tuteurs@clipper.ens.fr</code> est un seul
+MOT, form� de sept MOTS.
+</p>
+
+<p>
+Quand on r�p�te une touche correspondant � une action, le r�sultat est
+souvent d'agir sur la ligne enti�re. Ainsi <kbd>dd</kbd> supprime une ligne.
+Quand on la met en majuscule, elle agit souvent de la position du curseur �
+la fin de la ligne (comme si la commande de d�placement �tait <kbd>$</kbd>.
+Ainsi <kbd>D</kbd> supprime jusqu'� la fin de la ligne.
+</p>
+
+<p>
+Certaines commandes de d�placement sont dites <em>horizontales</em> alors
+que d'autres sont <em>verticales</em>. Quand une action est suivie d'un
+d�placement vertical, elle agit par lignes enti�res (par exemple
+<kbd>dj</kbd> supprime la ligne o� est le curseur et la ligne en dessous, en
+entier). Cette distinction peut para�tre difficile � saisir, mais � l'usage
+le comportement est tel qu'on peut s'y attendre naturellement.
+</p>
+
+<h2>Op�rations usuelles</h2>
+
+<h3>Copier-coller, registres</h3>
+
+<p>
+Vim poss�de un certain nombre de registres qui peuvent contenir du texte.
+Ils servenr pour les op�rations de copier-coller. Lors qu'une op�ration
+supprime une portion de texte, celle-ci est automatiquement copi�e dans le
+registre s�lectionn�. La commande <kbd>y</kbd> sert � copier du texte dans
+un registre sans le supprimer.
+</p>
+
+<p>
+Si on ne pr�cise rien, c'est le registre <code>"</code> qui est s�lectionn�.
+La commande <kbd>"</kbd> permet de choisir le registre pour la prochaine
+op�ration. Il y a 26 registres g�n�riques portant les lettres de
+<code>a</code> � <code>z</code>. Sion utilise une lettre en majuscule, le
+texte copi� o� coup� va s'ajouter au contenu du registre au lieu de le
+remplacer. Il est donc possible de maintenir 26 bouts de textes qu'on peut
+ensuite coller n'importe o�.
+</p>
+
+<p>
+C'est la commande <kbd>p</kbd> ou <kbd>P</kbd> qui sert � coller le contenu
+d'un registre. Comme les autres, elle peut �tre pr�c�d�e de <kbd>"</kbd>
+pour s�lectionner le registre qui doit �tre coll�.
+</p>
+
+<p>
+� chaque fois qu'un registre est modifi�, le registre <code>1</code> est
+rempli �galement, tandis que son ancien contenu est transf�r� dans le
+registre <code>2</code>, dont l'ancien contenu est � son tour transf�r� dans
+le registre <code>3</code>, et ainsi de suite jusqu'� 9.
+</p>
+
+<p>
+Attention. Un registre se souvnet de la mani�re dont il a �t� rempli�: par
+une action verticale ou horizontale. Lors du collage, il s'ins�re de la
+m�me mani�re�: un registre copi� verticalement s'ins�rera sur des lignes
+enti�res, quelle que soit la position du curseur. �a marche �galement pour
+des copies faites en mode visuel par bloc.
+</p>
+
+<h3>Le mode visuel</h3>
+
+<p>
+Le move visuel, ou plut�t les modes visuels, permettent de s�lectionner du
+texte. Une commande de modification faite en mode visuel va agir sur la zone
+s�lectionn�e au lieu d'un seul caract�re, ou d'attendre un d�placement. Pour
+les d�placements, le mode visuel fonctionne comme le mode commande.
+</p>
+
+<p>
+Le mode visuel normal s�lectionne une zone qui va pr�cis�ment de l'endroit
+o� se trouvait le curseur quand on a appuy� sur <kbd>v</kbd> � la position
+curseur courante. Il est donc similaire � une commande de d�placement
+<em>horizontal</em>. Le mode visuel par ligne s�lectionne des lignes
+enti�res, il est donc similaire � une commande de d�placement
+<em>vertical</em>.
+</p>
+
+<p>
+Le mode visuel par bloc s�lectionne un rectangle de texte, ind�pendemment
+des coupures des lignes. Ceci peut servir pour des constructions en colonnes
+ou des alignements. Dans ce mode, les commandes de remplacement
+(<kbd>c</kbd> et <kbd>s</kbd>) et d'insertion (<kbd>I</kbd> et <kbd>A</kbd>
+au lieu de <kbd>i</kbd> et <kbd>a</kbd>) ont un fonctionnement
+particulier�: le texte tap� sur la premi�re ligne va �tre r�p�t� de la m�me
+mani�re sur toutes les lignes. Attention�: pour que �a marche il ne faut
+pas utiliser de d�placement du curseur pendant l'insertion. Exemple�: pour
+ajouter un <code>&gt;</code> au d�but de toutes les lignes d'un bout de
+texte, se placer au d�but, faire <kbd>Ctrl-V</kbd>, descendre jusqu'� la
+derni�re ligne, faire <kbd>I&gt;</kbd>, puis <kbd>Escape</kbd>.
+</p>
+
+<h3>Les marques</h3>
+
+<p>
+Vim est capable de poser des marques dans le texte, afin d'y revenir plus
+tard facilement. On pose une marque avec <kbd>m</kbd> suivi d'une lettre. Il
+y a donc 26 marques librement utilisables.
+</p>
+
+<p>
+On peut aller � une marque ainsi pos�e avec la commande <kbd>'</kbd> suivie
+de la lettre, ou <kbd>`</kbd> pour un d�placement horizontal. Si la lettre
+est donn�e en majuscule, le saut peut faire changer de fichier si la marque
+est dans un autre.
+</p>
+
+<p>
+Il existe deux marques sp�ciales, <kbd>&lt;</kbd>et <kbd>&gt;</kbd>, qui
+d�signent respectivement le d�but et la fin du dernier mode visuel. Elles
+sont surtout utiles pour d�signer un intervalle en ligne de commande.
+</p>
+
+<h3>Les recherches</h3>
+
+
+<h2>La ligne de commande</h2>
+
+<p>
+Pour les op�rations plus complexes, en particulier celles qui agissent sur
+la totalit� du texte, Vim utilise une ligne de commande. Si on tape
+<kbd>:</kbd> en mode normal, on peut taper une commande enti�re, qui ne sera
+�valu�e que lorsqu'on validera avec entr�e. Avec Vim (et pas avec Vi), la
+ligne de commande est compl�tement �ditable, et comporte un hitorique.
+</p>
+
+<p>
+La plupart des commandes peuvent s'abr�ger. Les plus utilis�es peuvent
+descendre jusqu'� une seule lettre.
+</p>
+
+<h3>Sauver, charger, quitter</h3>
+
 
 <div class="metainformation">
 Auteur�: Nicolas George. Derni�re modification le 2003-01-19.