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). +
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)
+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 mode +insertion : 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 mode normal : 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. +
+ ++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. +
+ +
+On revient en mode normal avec la touche Escape
+
+Suivant la configuration, le changement peut ne prendre effet qu'au moment +où la touche suivante est tapée. En cas de problème, Ctrl-C +ramène toujours en mode normal. +
+ ++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. +
+ ++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. +
+ ++Par exemple la commande w avance jusqu'au mot suivant, la +commande d est celle pour effacer. Alors dw supprime +tout du curseur au début du mot suivant. +
+ ++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. +
+ + ++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. +
+ +Commande | Sens | Type | Effet |
---|---|---|---|
i | insert | passe en mode insertion | |
a | append | passe en mode insertion en faisant avancer le curseur | |
o | open | passe en mode insertion en créant une nouvelle ligne sous le curseur | |
O | open | passe en mode insertion en créant une nouvelle ligne au dessus du curseur | |
R | replace | passe en mode remplacement | |
A | passe en mode insertion en allant à la fin de la ligne | ||
I | passe en mode insertion en allant au début de la ligne | ||
v | visual | passe en mode visuel | |
V | passe en mode visuel par ligne | ||
Ctrl-V | passe en mode visuel par bloc | ||
h | déplacement | déplace le curseur vers la gauche | |
j | déplacement | déplace le curseur vers le bas | |
k | déplacement | déplace le curseur vers le haut | |
l | déplacement | déplace le curseur vers la droite | |
w | word | déplacement | avance d'un mot |
b | back | déplacement | recule d'un mot |
e | end | déplacement | avance jusqu'à la fin d'un mot |
W | déplacement | avance d'un MOT | |
B | déplacement | recule d'un MOT | |
E | déplacement | avance jusqu'à la fin d'un MOT | |
fx | forward | déplacement | avance jusqu'au prochain x |
Fx | déplacement | recule jusqu'au x précédent | |
tx | déplacement | avance jusqu'à juste avant le prochain x | |
Tx | déplacement | recule jusqu'à juste après le x précédent | |
gg | déplacement | va au début du texte | |
G | déplacement | va à la fin du texte | |
$ | déplacement | va à la fin de la ligne | |
0 | déplacement | va au début de la ligne | |
{ | déplacement | va au début du paragraphe | |
} | déplacement | va à la fin du paragraphe | |
( | déplacement | va au début de la phrase | |
) | déplacement | va à la fin de la phrase | |
n | next | déplacement | continue une recherche |
N | déplacement | continue une recherche, en sens inverse | |
u | undo | annule la dernière action | |
Ctrl-R | redo | refait la dernière action annulée | |
. | redo | répète la dernière opération | |
x | supprime un caractère vers la droite (« delete ») | ||
X | supprime un caractère vers la gauche (« backspace ») | ||
s | substitute | supprime un caractère et passe en mode insertion | |
rx | replace | remplace un caractère par x | |
p | paste | colle un registre après le curseur | |
P | colle un registre avant le curseur | ||
~ | passe un caractère de majuscule en minuscule ou l'inverse | ||
/ | fais une recherche | ||
? | fais une recherche vers l'arrière | ||
* | cherche le mot sous le curseur | ||
# | cherche le mot sous le curseur vers l'arrière | ||
d | delete | action | supprime |
c | change | action | supprime et passe en mode insertion |
y | yank | action | copie dans un registre |
gu | action | passe en minuscules | |
gU | action | passe en majuscules | |
g? | action | passe en rot13 | |
< | action | décale vers la gauche | |
> | action | décale vers la droite | |
gq | action | recoupe les lignes | |
= | action | met en forme un programme | |
"x | sélectionne le registre x | ||
mx | pose la marque x | ||
'x | déplacement | va à la marque x (par ligne) | |
`x | déplacement | va à la marque x (par caractère) |
+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 w avance d'un mot, 42 avance +de 42 mots. +
+ ++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. +
+ +
+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, tuteurs@clipper.ens.fr
est un seul
+MOT, formé de sept MOTS.
+
+Quand on répète une touche correspondant à une action, le résultat est +souvent d'agir sur la ligne entière. Ainsi dd 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 $. +Ainsi D supprime jusqu'à la fin de la ligne. +
+ ++Certaines commandes de déplacement sont dites horizontales alors +que d'autres sont verticales. Quand une action est suivie d'un +déplacement vertical, elle agit par lignes entières (par exemple +dj 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. +
+ ++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 y sert à copier du texte dans +un registre sans le supprimer. +
+ +
+Si on ne précise rien, c'est le registre "
qui est sélectionné.
+La commande " permet de choisir le registre pour la prochaine
+opération. Il y a 26 registres génériques portant les lettres de
+a
à z
. 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ù.
+
+C'est la commande p ou P qui sert à coller le contenu +d'un registre. Comme les autres, elle peut être précédée de " +pour sélectionner le registre qui doit être collé. +
+ +
+À chaque fois qu'un registre est modifié, le registre 1
est
+rempli également, tandis que son ancien contenu est transféré dans le
+registre 2
, dont l'ancien contenu est à son tour transféré dans
+le registre 3
, et ainsi de suite jusqu'à 9.
+
+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. +
+ ++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. +
+ ++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 v à la position +curseur courante. Il est donc similaire à une commande de déplacement +horizontal. Le mode visuel par ligne sélectionne des lignes +entières, il est donc similaire à une commande de déplacement +vertical. +
+ +
+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
+(c et s) et d'insertion (I et A
+au lieu de i et a) 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 >
au début de toutes les lignes d'un bout de
+texte, se placer au début, faire Ctrl-V, descendre jusqu'à la
+dernière ligne, faire I>, puis Escape.
+
+Vim est capable de poser des marques dans le texte, afin d'y revenir plus +tard facilement. On pose une marque avec m suivi d'une lettre. Il +y a donc 26 marques librement utilisables. +
+ ++On peut aller à une marque ainsi posée avec la commande ' suivie +de la lettre, ou ` 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. +
+ ++Il existe deux marques spéciales, <et >, 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. +
+ ++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 +: 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. +
+ ++La plupart des commandes peuvent s'abréger. Les plus utilisées peuvent +descendre jusqu'à une seule lettre. +
+ +