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><</kbd></td><td></td><td>action</td><td>d�cale vers la gauche</td></tr> +<tr><td><kbd>></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>></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></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><</kbd>et <kbd>></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.