-.TH VIMTUTOR 1 "2 avril 2001"
+.TH VIMTUTOR 1 "3 décembre 2024"
.SH NAME
vimtutor \- tutoriel Vim
.SH SYNOPSIS
.br
-.B vimtutor [\-g] [langue]
+.B vimtutor [\-l | \-\-language ISO639] [\-c | \-\-chapter NUMÉRO] [\-g | \-\-gui] [ISO639]
+.br
+.B vimtutor [\-h | \-\-help]
+.br
+.B vimtutor [\-\-list]
.SH DESCRIPTION
-.B Vimtutor
+.B vimtutor
lance le tutoriel
+.BR "Vim" "."
+.PP
+.B vimtutor
+est utile pour les personnes souhaitant apprendre leurs premières
+commandes
+.BR "Vim" "."
+.PP
+L'argument optionel [ISO639] correspond aux deux ou trois lettres qui identifient
+une langue, comme par exemple "it" ou "es".
+.PP
+.B vimtutor
+ne fait qu'ouvrir une copie temporaire des fichiers du tutoriel, il n'y
+a donc aucun risque d'écraser les leçons.
+.PP
.B Vim
-\.
-Il copie d'abord le fichier du tutoriel, afin que vous puissiez le modifier
-sans altérer le fichier original.
+est toujours lancé en mode
+.B Vi
+compatible.
.PP
-.B Vimtutor
-est utile pour les personnes souhaitant apprendre leurs premières commandes
+.SH OPTIONS
+.TP
+.BR \-l ", " \-\-language\ \fIISO639\fR
+Les deux ou trois lettres qui déterminent la langue, comme
+par exemple 'it', 'es' ou 'bar'.
+Par défaut, la langue locale du système est utilisée,
+ou l'anglais sinon.
+.TP
+.BR \-c ", " \-\-chapter\ \fINUMÉRO\fR
+Sélectionne le chapitre désiré. Par défaut, c'est le premier chapitre.
+.TP
+.BR \-g ", " \-\-gui
+Lance
+.B vimtutor
+avec une interface graphique de
.B Vim
-\.
+si possible; sinon, revient à la version console.
+.TP
+.BR \-h ", " \-\-help
+Affiche les informations d'usage.
+.TP
+.BR \-\-list
+Affiche la liste des chapitres et des langues.
+.SH EXEMPLES
+Pour démarrer
+.B vimtutor
+en français au premier chapitre:
.PP
-L'argument optionnel \-g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM
-graphique de vim est disponible, ou le lance avec vim si gvim n'est pas
-disponible.
+.nf
+.RS
+vimtutor fr
+.RE
+.fi
.PP
-L'argument optionnel [langue] est le nom d'une langue, spécifiée par son
-symbole à deux lettres, tels que "it" ou "es". Si l'argument [langue] est omis,
-la langue de la région linguistique actuelle sera retenue. Si le tutoriel est
-disponible dans cette langue, il est proposé. Sinon, c'est la version anglaise
-qui est proposée.
+En anglais au chapitre deux:
.PP
-.B Vim
-est toujours lancé en mode Compatible Vi.
+.nf
+.RS
+vimtutor -c2
+.RE
+.fi
+.PP
+Pour lancer (avec les commandes en format long) l'interface graphique,
+pour le bavarois, au premier chapitre:
+.PP
+.nf
+.RS
+vimtutor --language bar --chapter 1 --gui
+.RE
+.fi
.SH FICHIERS
.TP 15
-/usr/local/lib/vim/tutor/tutor[.langue]
-Les fichiers textes de
-.B Vimtutor
+/usr/local/share/vim/vim??/tutor/tutor1[.language]
+Les fichiers du premier chapitre du
+.B vimtutor
\.
.TP 15
-/usr/local/lib/vim/tutor/tutor.vim
-Le script Vim utilisé pour copier les fichiers texte de
-.B Vimtutor
+/usr/local/share/vim/vim??/tutor/tutor2[.language]
+Les fichiers du deuxième chapitre du
+.B vimtutor
+\.
+.TP 15
+/usr/local/share/vim/vim??/tutor/tutor.vim
+Le script
+.B Vim
+utilisé pour copier les fichier du
+.B vimtutor
\.
.SH AUTEUR
.B Vimtutor
a été écrit à l'origine pour Vi par Michael C. Pierce et Robert K. Ware, de la
Colorado School of Mines, en reprenant des idées émises par Charles Smith, de
la Colorado State University.
-E-mail : bware@mines.colorado.edu.
+Courriel: bware@mines.colorado.edu (ne fonctionne plus).
.br
Il a été modifié pour
.B Vim
par Bram Moolenaar.
-Pour connaître le nom des traducteurs, consultez les fichiers textes du
+Pour connaitre le nom des traducteurs, consultez les fichiers textes du
tutoriel.
.SH VOIR AUSSI
vim(1)
.SH TRADUCTION
Cette page de manuel a été traduite par David Blanchet
<david.blanchet@free.fr> 2004-12-27.
-Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>.
+Mise à jour 2025-06-16, Damien Lejay <damien@lejay.be>.
--- /dev/null
+===============================================================================
+= B i e n v e n u e dans l e T u t o r i e l de VIM – Version 1.7 =
+===============================================================================
+= C H A P I T R E DEUX =
+===============================================================================
+
+ Hic sunt dracones : si cʼest la première fois que vous utilisez Vim
+ et que vous souhaitez accéder au tutoriel dʼintroduction, tapez
+ les trois touches :q! puis la touche <ENTRÉE> et recommencez.
+
+ Il vous faudra entre 8 et 10 minutes pour terminer ce chapitre, selon
+ que vous passiez plus ou moins de temps à expérimenter.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Leçon 2.1.1 : REGISTRES NOMMÉS
+
+
+ ** Conserver deux mots copiés en parallèle, puis les coller **
+
+ 1. Déplacez le curseur sur la ligne ci-dessous commençant par : --->
+
+ 2. Placez-vous nʼimporte où dans le mot 'Édouard' et tapez "ayiw
+
+AIDE MNÉMOTECHNIQUE : dans le registre(") nommé (a) (y)ank la portion
+ (i)nterne du (w)ord sous-jacent
+
+ 3. Avancez jusquʼau mot 'chouquettes' (fq ou 2fc ou $ ou /ch<ENTRÉE>)
+ et tapez "byiw
+
+ 4. Rendez-vous sur le mot 'Vincent' et tapez ciw<CTRL-R>a<ÉCHAP>
+
+AIDE MNÉMOTECHNIQUE : é(c)hange la partie (i)nterne du (w)ord sous-jacent
+ avec le <contenu du (r)egistre> nommé (a)
+
+ 5. Rendez-vous sur le mot 'croissant' et tapez ciw<CTRL-R>b<ÉCHAP>
+
+---> a) Édouard aura toute autorité sur le contingentement des chouquettes
+ b) À ce titre, Vincent exercera seul le pouvoir discrétionnaire sur
+ lʼattribution des croissants.
+
+NOTE : On peut aussi utiliser les registres avec la commande de suppression.
+ Taper "sdiw supprimera le mot sous-jacent et en conservera une copie
+ dans le registre (s).
+
+RÉFÉRENCES: Registres :h registers
+ Registres nommés :h quotea
+ Mouvements :h motion.txt<ENTRÉE> /inner<ENTRÉE>
+ CTRL-R :h insert<ENTRÉE> /CTRL-R<ENTRÉE>
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Leçon 2.1.2 : LE REGISTRE DʼEXPRESSIONS
+
+
+ ** Insérer à la volée le résultat dʼun calcul **
+
+ 1. Déplacez le curseur sur la ligne ci-dessous commençant par : --->
+
+ 2. Placez-vous sur le nombre
+
+ 3. Tapez ciw<CTRL-R> suivi de =60*60*24<ENTRÉE>
+
+ 4. Sur la ligne suivante, en mode Insertion, ajoutez la date du jour avec
+ <CTRL-R> suivi de =system('date')<ENTRÉE>
+
+NOTE : Tous les appels système dépendent de votre système dʼexploitation. Par
+ exemple sur MS-Windows, utilisez plutôt
+ system('date /t') ou :r!date /t
+
+---> Dans une journée, il y a 100 secondes.
+ Aujourdʼhui, nous sommes :
+
+NOTE: on arrive au même résultat avec :pu=system('date')
+ ou, plus court :r!date
+
+RÉFÉRENCE : Registre dʼexpressions :h quote=
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Leçon 2.1.3 : LES REGISTRES NUMÉROTÉS
+
+
+ ** Tapez yy et dd afin de contempler leur effet sur les registres **
+
+ 1. Déplacez le curseur sur la ligne ci-dessous commençant par : --->
+
+ 2. Copiez (yy) la ligne 0, puis inspectez les registres avec :reg<ENTRÉE>
+
+ 3. Supprimez la ligne 0 avec "cdd, puis inspectez les registres
+ (Où pensez-vous retrouver la ligne 0 ?)
+
+ 4. Continuez à supprimer chaque ligne successivement (avec dd), tout en
+ regardant le résultat au passage avec :reg.
+
+NOTE : Vous devriez remarquer que les anciennes lignes supprimées descendent
+ dans la liste des registres au fur et à mesure que vous supprimez de
+ nouvelles lignes.
+
+ 5. Maintenant collez le contenu des registres suivant, dans cet ordre :
+ c, 7, 4, 2, 8. i.e collez avec "cp puis "7p puis etc.
+
+---> 0. Ceci
+ 9. zigzag
+ 8. secret
+ 7. est
+ 6. on
+ 5. axe
+ 4. un
+ 3. guerre
+ 2. message
+ 1. hommage
+
+NOTE : Les lignes entièrement supprimées (via dd) restent beaucoup plus
+ longtemps dans les registres numérotés que les lignes copiées (via yy)
+ ou les suppressions impliquant des mouvements plus courts.
+
+RÉFÉRENCE : Registres numérotés :h quote0
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Leçon 2.1.4 : LʼÉLÉGANCE DES MARQUES
+
+
+ ** Lʼart dʼéviter les calculs pour le codeur décérébré **
+
+NOTE : En programmation, déplacer de gros blocs de code est souvent une vraie
+ corvée. Le souci nʼest pas la difficulté de lʼopération, mais la
+ gymnastique mentale quʼimposent les calculs de numéros de ligne — une
+ tâche fastidieuse et source dʼerreurs.
+ La technique qui suit vous épargne justement ce tracas pour des
+ opérations comme "a147d ou :945,1091d a ou pire encore
+ i<CTRL-R> suivi de =1091-945<ENTRÉE>
+
+ 1. Déplacez le curseur sur la ligne ci-dessous commençant par : --->
+
+ 2. Placez-vous sur la première ligne de la fonction et placez une marque (a)
+ avec ma
+
+NOTE : peu importe la position exacte sur la ligne.
+
+ 3. Allez à la fin de la ligne, puis à la fin du bloc de code avec $%
+
+ 4. Supprimez le bloc et conservez-le dans le registre (a) avec "ad'a
+
+AIDE MNÉMOTECHNIQUE : demande au registre(") nommé (a) de conserver la
+ (d)élétion effectuée depuis le curseur jusquʼà la LIGNE contenant la
+ marque(') (a)
+
+ 5. Collez le bloc entre BBB et CCC avec "ap
+
+NOTE : exercez-vous plusieurs fois pour que ça devienne naturel ma$%"ad'a
+
+---> AAA
+ function itGotRealBigRealFast() {
+ if ( somethingIsTrue ) {
+ doIt()
+ }
+ // the taxonomy of our function has changed and it
+ // no longer makes alphabetical sense in its current position
+
+ // imagine hundreds of lines of code
+
+ // naively you could navigate to the start and end and record or
+ // remember each line number
+ }
+ BBB
+ CCC
+
+NOTE : les marques et les registres ne partagent pas leur espace de noms,
+ le registre (a) est complètement indépendant de la marque (a).
+ On ne peut pas en dire autant des registres et des macros.
+
+RÉFÉRENCES : Marques :h marks
+ :h mark-motions (différence entre ' et ` )
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Leçon 2.1 RÉSUMÉ
+
+
+ 1. Utiliser lʼun des 26 registres nommés (a-z) pour conserver
+ (copier/supprimer) et coller du texte.
+ 2. Copier un mot entier en plaçant le curseur sur le mot : yiw
+ 3. Changer un mot entier en plaçant le curseur sur le mot : ciw
+ 4. Insérer du texte directement depuis un registre, en mode Insertion :
+ <CTRL-R>a
+
+ 5. Insérer le résultat dʼune opération arithmétique simple :
+ <CTRL-R> suivi de =60*60<ENTRÉE> en mode Insertion
+ 6. Insérer le résultat dʼun appel système : <CTRL-R> suivi de
+ =system('ls -1')<ENTRÉE>
+ en mode Insertion
+
+ 7. Inspecter les registres avec :reg
+ 8. Apprendre pourquoi les suppressions de lignes entières (dd) sont
+ préservées plus longtemps : elles bénéficient des registres 1 à 9 et sont
+ préservées plus longtemps que toute autre opération
+ 9. Apprendre la destination finale de toutes les copies dans les registres
+ numérotés et à quel point elles sont éphémères
+
+ 10. Placer des marques depuis le mode Normal m[a-zA-Z0-9]
+ 11. Se déplacer ligne par ligne jusquʼà une marque avec '
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Voilà, vous êtes arrivé à la fin du chapitre deux du tutoriel de Vim. Il est
+ encore en chantier.
+
+ Ce chapitre a été écrit par Paul D. Parker,
+ il a été traduit en français par Damien Lejay.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~