*usr_02.txt* Pour Vim version 6.2.MANUEL de l'UTILISATEUR VIM - par Bram Moolenaar
Premiers pas dans Vim
Ce chapitre donne les informations nécessaires pour éditer un fichier avec
Vim. Ni très bien ni très vite, mais vous pourrez éditer. Prenez un peu de
temps pour vous exercer avec ces commandes, elles constituent la base de tout
ce qui suit.
|02.1| Lancer Vim pour la première fois
|02.2| Insérer du texte
|02.3| Se déplacer
|02.4| Effacer des caractères
|02.5| Annuler et restaurer
|02.6| Autres commandes d'édition
|02.7| Quitter
|02.8| Trouver de l'aide
Chapitre suivant : |usr_03.txt| Se déplacer dans le texte
Chapitre précédent : |usr_01.txt| Introduction aux manuels
Table des matières : |usr_toc.txt|==============================================================================*02.1* Lancer Vim pour la première fois
Pour lancer Vim, entrez cette commande :
gvim fichier.txt
Sous Unix, vous pouvez taper ceci après n'importe quelle invite de commande.
Si vous utilisez MS-Windows, ouvrez une fenêtre d'invite de commande MS-DOS et
entrez la commande.
Dans tous les cas, Vim lance l'édition d'un fichier nommé "fichier.txt".
Comme il s'agit d'un nouveau fichier, vous verrez une fenêtre vide. Votre
écran devrait ressembler à ceci :
+---------------------------------------+
|# |
|~ |
|~ |
|~ |
|~ |
|"fichier.txt" [New file] |
+---------------------------------------+
("#" représente la position du curseur.)
Les tildes ('~') indiquent des lignes qui ne font pas partie du fichier. En
d'autres termes, quand Vim n'a plus de lignes à afficher, il affiche des
tildes. Au bas de l'écran, une ligne de message indique que le fichier
s'appelle "fichier.txt" et que c'est un nouveau fichier. Ce message
d'information est temporaire et de nouvelles informations viendront le
remplacer.
LA COMMANDE VIM
La commande gvim provoque la création d'une nouvelle fenêtre pour l'édition.
Si vous utilisez cette commande
vim fichier.txt
l'édition se déroulera à l'intérieur de votre fenêtre de commande.
C'est-à-dire que si vous travaillez dans un xterm, Vim utilisera votre fenêtre
xterm ; si vous utilisez une fenêtre d'invite de commande MS-DOS sous
MS-Windows, l'édition se déroulera dedans. Le texte dans la fenêtre sera
identique pour les deux versions, mais avec gvim, vous pouvez bénéficier de
fonctionnalités supplémentaires, telle que la barre de menus. Nous y
reviendrons ultérieurement.
==============================================================================*02.2* Insérer du texte
Vim est un éditeur modal. Cela signifie qu'il se comportera différemment selon
le mode dans lequel vous êtes. Les deux modes de base sont le mode Normal et
le mode Insertion. En mode Normal, les caractères que vous tapez sont des
commandes. En mode Insertion, les caractères sont insérés en tant que texte.
Comme vous venez juste de lancer Vim, il sera en mode Normal (par défaut).
Pour lancer le mode Insertion, tapez la commande "i" ('i' comme Insérer). Vous
pouvez ensuite entrer du texte : il sera inséré dans le fichier. Ne vous
inquiétez pas si vous faites des erreurs : vous pourrez les corriger plus
tard. Pour entrer l'adage suivant, voici ce qu'il faut taper :
iUn petit chez soi vaut mieux
Qu'un grand chez les autres
Après avoir tapé "mieux", pressez la touche <Entree> pour commencer une
nouvelle ligne. Finalement, pressez la touche <Echap> pour quitter le mode
Insertion et revenir en mode Normal. Vous avez maintenant deux lignes de texte
dans votre fenêtre Vim :
+---------------------------------------+
|Un petit chez soi vaut mieux |
|Qu'un grand chez les autres |
|~ |
|~ |
| |
+---------------------------------------+
QUEL EST LE MODE COURANT ?
Pour voir dans quel mode vous êtes, tapez cette commande :
:set showmode
Vous remarquerez que quand vous tapez le deux-points, Vim place le curseur sur
la dernière ligne de la fenêtre. C'est l'endroit où vous pouvez entrer les
commandes deux-points (commandes qui débutent par ':'). Terminez cette
commande en pressant la touche <Entree> (toutes les commandes deux-points se
terminent de la sorte).
À présent, si vous tapez la commande "i", Vim affichera "--INSERT--" au bas
de la fenêtre. Ceci indique que vous êtes en mode Insertion.
+---------------------------------------+
|Un petit chez soi vaut mieux |
|Qu'un grand chez les autres |
|~ |
|~ |
|-- INSERT -- |
+---------------------------------------+
Si vous pressez <Echap> pour revenir en mode Normal, la dernière ligne sera
effacée.
EN CAS DE FAUSSE MANOEUVRE
Un des problèmes souvent rencontré par les novices est la confusion des modes,
causée par l'oubli du mode courant ou par la saisie accidentelle d'une
commande qui fait basculer dans un mode. Pour revenir en mode Normal, quel que
soit le mode dans lequel vous êtes, pressez la touche <Echap>. Parfois, vous
devrez la presser deux fois. Si Vim émet un bip, c'est que vous êtes déjà en
mode Normal.
==============================================================================*02.3* Se déplacer
Après être revenu en mode Normal, vous pouvez vous déplacer dans le texte en
utilisant ces touches :
h gauche *hjkl*
j bas
k haut
l droite
Au premier abord, il peut sembler que ces commandes aient été choisies un peu
au hasard. Après tout, qui a déjà utilisé "l" mis pour droite ? Il existe en
fait une bonne raison pour expliquer ces choix : le déplacement du curseur est
l'action la plus courante dans un éditeur de texte, et ces touches se trouvent
alignées juste sous votre main droite. En d'autres termes, ces commandes sont
placées là où vous pouvez accéder le plus rapidement (en particulier si vous
tapez avec vos dix doigts).
NOTE :
Vous pouvez aussi déplacer le curseur en utilisant les touches
fléchées. Mais si vous faites cela, vous ralentissez grandement votre
édition car pour atteindre les touches fléchées, vous devez déplacer
votre main du pavé texte au pavé curseur. En supposant que vous le
fassiez plusieurs centaines de fois en une heure, vous perdriez un
temps considérable.
De plus, il existe des claviers qui sont dépourvus de touches
fléchées, ou qui les situent à des emplacements inhabituels ; savoir
utiliser les touches hjkl vous rendra un grand service dans ces
situations.
Il est assez facile de retenir ces commandes si l'on songe que sur le clavier,
"h" est sur la gauche, "l" sur la droite et "j" pointe vers le bas. Avec
un dessin :
k
h l
j
La meilleure façon d'apprendre ces commandes est de pratiquer. Utilisez la
commande "i" pour insérer des lignes supplémentaires de texte. Puis utilisez
les touches hjkl pour vous déplacer et insérer un mot quelque part. N'oubliez
pas de presser <Echap> pour revenir en mode Normal. Le tutoriel |vimtutor| est
également un bon moyen pour vous entraîner.
Pour les utilisateurs japonais, Hiroshi Iwatani propose ce moyen
mnémotechnique :
Komsomolsk
^
|
Huan Ho <--- ---> Los Angeles
(Fleuve Jaune) |
v
Java (l'île, pas le langage de programmation)
==============================================================================*02.4* Effacer des caractères
Pour effacer un caractère [N.D.T. : en fait, le couper], amenez le curseur
dessus et tapez "x". (C'est un héritage des anciennes machines à écrire, quand
on biffait du texte en tapant xxxx en surfrappe.) Par exemple, amenez le
curseur au début de la première ligne et tapez "xxxxxxxxx" (neuf 'x') pour
effacer "Un petit ". Le résultat devrait ressembler à ceci :
+---------------------------------------+
|chez soi vaut mieux |
|Qu'un grand chez les autres |
|~ |
|~ |
| |
+---------------------------------------+
À présent vous pouvez insérer un nouveau texte, en tapant par exemple :
iUn moyen <Echap>
Ceci lance une insertion (le "i"), insère les mots "Un moyen ", puis quitte le
mode Insertion (le <Echap> final). On obtient :
+---------------------------------------+
|Un moyen chez soi vaut mieux |
|Qu'un grand chez les autres |
|~ |
|~ |
| |
+---------------------------------------+
SUPPRIMER UNE LIGNE
Pour effacer une ligne entière [N.D.T. : la couper], utilisez la commande "dd"
["Delete"]. La ligne suivante sera alors déplacée vers le haut pour combler le
vide :
+---------------------------------------+
|Qu'un grand chez les autres |
|~ |
|~ |
|~ |
| |
+---------------------------------------+
SUPPRIMER UNE COUPURE DE LIGNE
Vim peut fusionner deux lignes ensemble, ce qui signifie que la coupure de
ligne les séparant sera supprimée. Utilisez la commande "J" ["Join"] pour
cela. Prenez ces deux lignes :
Un petit chez soi vaut mieux
Amenez le curseur sur la première ligne et pressez "J" :
Un petit chez soi vaut mieux ==============================================================================*02.5* Annuler et restaurer
Supposons que vous ayez effacé trop de texte. Vous pourriez bien sûr le
saisir à nouveau, mais un moyen plus facile existe. La commande "u" ["Undo"]
annule la dernière édition. Par exemple : après avoir utilisé "dd" pour
effacer la première ligne, "u" la ramènera.
Un autre exemple : placez le curseur sur le 'U' de la première ligne :
Un petit chez soi vaut mieux
Tapez maintenant "xxxxxxxx" pour effacer "Un petit". Vous obtenez :
chez soi vaut mieux
Tapez "u" pour annuler le dernier effacement. Celui-ci avait effacé le 't',
donc l'annulation restaurera ce caractère :
t chez soi vaut mieux
Les commandes "u" suivantes restaureront les caractères du plus récemment au
plus anciennement effacé. On aura donc d'abord le 'i' :
it chez soi vaut mieux
Et ainsi de suite :
tit chez soi vaut mieux etit chez soi vaut mieux petit chez soi vaut mieux petit chez soi vaut mieux n petit chez soi vaut mieux Un petit chez soi vaut mieux NOTE :
Si vous tapez "u" deux fois et que vous retombez sur le même texte,
c'est que Vim est configuré pour fonctionner de façon compatible Vi.
Reportez-vous à |not-compatible| pour régler ce problème.
Cette section suppose que vous utilisez « la méthode Vim ». Si vous
préférez la bonne vieille méthode Vi, vous devrez faire attention à de
petites différences de comportement.
RESTAURER
Si vous annulez un trop grand nombre de fois, vous pouvez presser CTRL-R
["Redo"] pour inverser la commande précédente. En d'autres termes, cela annule
l'annulation. Pour le voir en pratique, pressez CTRL-R deux fois. Les
caractères 'U' et 'n' disparaîtront :
petit chez soi vaut mieux
Il existe une version spéciale de commande d'annulation, la commande "U"
["Undo line"]. Elle annule tous les changements effectués sur la dernière
ligne éditée. Taper cette commande deux fois annule le précédent "U".
Un petit chez soi vaut mieux
xxxxxx Supprime " mieux"
Un petit chez soi vaut
xxxxxxxxx Supprime "chez soi "
Un petit vaut
Restaure la ligne avec "U"
Un petit chez soi vaut mieux
Annule "U" avec "u"
Un petit vaut
La commande "U" est un changement en elle-même, elle peut donc être annulée
avec "u" et restaurée avec CTRL-R. Cela peut paraître compliqué, mais soyez
sans crainte : avec "u" et CTRL-R, vous pouvez revenir à n'importe quelle
situation précédente.
==============================================================================*02.6* Autres commandes d'édition
Vim dispose de nombreuses commandes pour changer du texte. Voir |Q_in| et
ci-dessous. Vous trouverez ici les plus utilisées.
AJOUTER DU TEXTE
La commande "i" insère un caractère avant la position du curseur. Cela marche
bien ; mais comment faire quand vous voulez ajouter du texte à la fin de la
ligne ? Pour cela, vous devez insérer du texte après le curseur. C'est
possible avec la commande "a" ["Append"].
Par exemple, pour changer la ligne
L'idéal restant un grand chez soi !
en
L'idéal restant un grand chez soi...
amenez le curseur sur le point d'exclamation à la fin de la ligne. Puis tapez
"xx" pour effacer ce point d'exclamation et l'espace précédent. Le curseur est
à présent placé à la fin de la ligne, sur le 'i' de "soi". Tapez
a...<Echap>
pour ajouter trois points de suspension après le 'i' de "soi" :
L'idéal restant un grand chez soi...
OUVRIR UNE NOUVELLE LIGNE
La commande "o" crée une nouvelle ligne vide sous le curseur et lance le mode
Insertion. Vous pouvez ensuite entrer du texte dans cette nouvelle ligne.
Supposons que le curseur soit quelque part dans la première de ces deux
lignes :
Un petit chez soi vaut mieux Qu'un grand chez les autres
Maintenant, si vous utilisez la commande "o" et tapez du texte
o(Surtout avec Vim)<Echap>
vous obtenez le résultat suivant :
Un petit chez soi vaut mieux (Surtout avec Vim) Qu'un grand chez les autres
La commande "O" (en majuscule) ouvre une ligne au-dessus du curseur.
UTILISER UN QUANTIFICATEUR
Supposons que vous vouliez remonter de neuf lignes. Vous pouvez taper
"kkkkkkkkk", ou bien entrer la commande "9k". En fait, vous pouvez faire
précéder de nombreuses commandes par un nombre, appelé quantificateur. Un
peu plus haut dans ce chapitre, par exemple, nous avons ajouté trois points de
suspension à la fin d'une ligne avec "a...<Echap>". Mais on aurait également
pu faire "3a.<Echap>". Le nombre 3 indique à la commande qui suit de tripler
son effet. De la même façon, pour effacer trois caractères, utilisez la
commande "3x". Le quantificateur vient toujours avant la commande à laquelle
il s'applique.
==============================================================================*02.7* Quitter
Pour quitter, utilisez la commande "ZZ". Cette commande enregistre le fichier
et quitte.
NOTE :
Contrairement à de nombreux autres éditeurs, Vim ne crée pas
automatiquement de fichier de sauvegarde. Si vous tapez "ZZ", vos
changements seront enregistrés et vous ne pourrez plus revenir en
arrière. Vous pouvez configurer Vim pour qu'il crée des fichiers de
sauvegarde, voir |07.4|.
IGNORER LES CHANGEMENTS
Parfois, on effectue toute une série de changements et puis on réalise que,
vraiment, les choses étaient mieux avant. Pas de problème, Vim a une commande
pour quitter-et-jeter-les-changements. Il s'agit de :
:q!
N'oubliez pas de presser <Entree> pour terminer la commande.
Pour ceux que les détails intéressent, les trois parties de cette commande
sont le deux-points (':'), qui fait basculer sur la ligne de commande ; la
commande 'q', qui demande à l'éditeur de quitter ; et le modificateur '!', qui
force la commande.
Forcer la commande est nécessaire, car Vim est réticent à la perte de
changements. Si vous aviez simplement tapé ":q", Vim aurait affiché un message
d'erreur et refusé de quitter :
E37: No write since last change (use ! to override)
En utilisant '!', vous dites en quelque sorte à Vim : « Je sais que ce que je
fais a l'air idiot, mais je suis un grand garçon et je veux vraiment le
faire. »
Si vous voulez continuer l'édition avec Vim : la commande ":e!" rechargera la
version originale du fichier.
==============================================================================*02.8* Trouver de l'aide
Tout ce que vous avez toujours voulu savoir sur Vim peut être trouvé dans les
fichiers d'aide de Vim. N'ayez pas peur de demander !
Pour obtenir une aide générique, utilisez cette commande :
:help
Vous pouvez aussi utiliser la première touche de fonction, <F1>. Si votre
clavier a une touche <Aide>, elle devrait également fonctionner.
Si vous ne donnez pas de sujet, ":help" affiche la fenêtre d'aide
générique. Les créateurs de Vim ont conçu le système d'aide de façon
particulièrement ingénieuse (ou particulièrement paresseuse) : la fenêtre
d'aide est une simple fenêtre d'édition. Vous pouvez donc utiliser toutes les
commandes normales de Vim pour vous déplacer dans l'aide. Ainsi "h", "j", "k",
et "l" déplacent à gauche, bas, haut et droite.
Pour quitter la fenêtre d'aide, utilisez la même commande que pour quitter
l'éditeur : "ZZ". Cela fermera juste la fenêtre d'aide, mais ne quittera pas
Vim.
En lisant le texte de l'aide, vous remarquerez que certains mots sont encadrés
par des barres verticales (par exemple, |help|). Ceci représente un hyperlien.
Si vous placez le curseur n'importe où entre les barres et pressez CTRL-]
(sauter vers un marqueur), le système d'aide vous amènera au sujet en
question. (Pour des raisons que nous n'aborderons pas ici, la terminologie
qu'utilise Vim pour hyperlien est marqueur. Ainsi, CTRL-] saute à
l'emplacement du marqueur donné par le mot sous le curseur.)
Après plusieurs sauts, vous voudrez peut-être revenir en arrière. CTRL-T
(dépile le marqueur) vous ramène à la position précédente. CTRL-O (saute à une
position plus ancienne) fonctionne également très bien ici.
Au sommet de l'écran d'aide, vous verrez la notation *help.txt*. Ce nom
entre caractères '*' est utilisé par le système d'aide pour définir un
marqueur (cible de l'hyperlien).
Voir |29.1| pour plus de détails sur l'utilisation des marqueurs.
Pour obtenir de l'aide sur un sujet particulier, utilisez la commande
suivante :
:help {sujet}
Par exemple, pour obtenir de l'aide sur la commande "x", entrez :
:help x
Si vous cherchez comment couper du texte, utilisez cette commande :
:help deleting
Pour avoir un index complet de toutes les commandes Vim, tapez :
:help index
Quand vous recherchez de l'aide sur une commande avec un caractère de contrôle
(par exemple, CTRL-A), vous devez l'épeler avec le préfixe "CTRL-".
:help CTRL-A
L'éditeur Vim a de nombreux modes différents. Par défaut, le système d'aide
donne les commandes du mode Normal. Par exemple, la commande suivante donne
l'aide de la commande CTRL-H du mode Normal :
:help CTRL-H
Pour préciser un autre mode, utilisez un préfixe. Par exemple, utilisez "i_"
pour une commande du mode Insertion. Pour connaître l'action de CTRL-H dans ce
mode, entrez :
:help i_CTRL-H
Quand vous lancez l'éditeur Vim, vous pouvez utiliser plusieurs arguments de
commande. Ils débutent tous par un tiret ('-'). Pour savoir ce que fait
l'argument -t, par exemple, utilisez la commande :
:help -t
Vim dispose de nombreuses options qui vous permettent de le configurer et de
le personnaliser. Si vous recherchez de l'aide sur une option, vous devez
encadrer son nom entre apostrophes simples. Par exemple, pour l'option
'number' :
:help 'number'
Pour voir un tableau regroupant tous les préfixes des modes, consultez
|help-context|.
Les touches spéciales sont encadrées par des chevrons : '<' et '>'. Ainsi,
pour trouver de l'aide sur la touche flèche-haut en mode Insertion, utilisez
cette commande :
:help i_<Haut>
Si vous voyez un message d'erreur que vous ne comprenez pas, par exemple
E37: No write since last change (use ! to override)
vous pouvez utiliser son numéro d'ID (au début du message) pour obtenir une
aide dessus :
:help E37
==============================================================================
Chapitre suivant : |usr_03.txt| Se déplacer dans le texte
Copyright : voir |manual-copyright| vim:tw=78:ts=8:ft=help:norl: