Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:editeurs:vim:vim [22/02/2015 09:40] smolski [Vimtutor] |
doc:editeurs:vim:vim [18/07/2015 18:56] milou [Les modes] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : vim | * Objet : vim | ||
- | * Niveau requis : {{tag>débutant}} | + | * Niveau requis : {{tag>débutant avisé}} |
* Commentaires : //Administrer la rédaction des fichiers de configurations, et plus encore, les pages web et autres... // | * Commentaires : //Administrer la rédaction des fichiers de configurations, et plus encore, les pages web et autres... // | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>en-chantier à-compléter}} | * Suivi : {{tag>en-chantier à-compléter}} | ||
- | * Création par smolski 10-07-2009 19:37:07 | + | * Création par [[user>smolski]] le 10-07-2009 19:37:07 |
- | * Testé par smolski le 10-07-2009 19:37:07 | + | * Testé par [[user>smolski]] le 10-07-2009 19:37:07 |
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1577 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1577 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | **Nota :** | ||
- | |||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 19: | Ligne 16: | ||
Son auteur voulait au départ faire un clone libre de [[:doc:editeurs:vi]], l'éditeur de base sous UNIX, mais tant de nouvelles fonctionnalités ont été ajoutées que l'on peut dire maintenant qu'il s'agit d'un programme véritablement original. | Son auteur voulait au départ faire un clone libre de [[:doc:editeurs:vi]], l'éditeur de base sous UNIX, mais tant de nouvelles fonctionnalités ont été ajoutées que l'on peut dire maintenant qu'il s'agit d'un programme véritablement original. | ||
+ | |||
+ | ------ | ||
===== Installation ===== | ===== Installation ===== | ||
Ben, comme d'habitude : | Ben, comme d'habitude : | ||
- | <code root>apt-get install vim</code> | + | <code root>apt-get update && apt-get install vim</code> |
Cela installe 2 paquets. \\ | Cela installe 2 paquets. \\ | ||
Ligne 29: | Ligne 28: | ||
Pour un vim complet : | Pour un vim complet : | ||
- | <code root>apt-get install vim-gtk exuberant-ctags</code> | + | <code root>apt-get update && apt-get install vim-gtk exuberant-ctags</code> |
==== vim-nox ==== | ==== vim-nox ==== | ||
Voilà un vim débarrassé de tout ce qui se rapporte au serveurX ! | Voilà un vim débarrassé de tout ce qui se rapporte au serveurX ! | ||
- | <code root>apt-get install vim-nox vim-scripts exuberant-ctags</code> | + | <code root>apt-get update && apt-get install vim-nox vim-scripts exuberant-ctags</code> |
Et vous pouvez le mettre en éditeur par défaut pour tous avec la commande : | Et vous pouvez le mettre en éditeur par défaut pour tous avec la commande : | ||
Ligne 50: | Ligne 49: | ||
Comme le dit **Melodie** : \\ | Comme le dit **Melodie** : \\ | ||
- | Le meilleur des tutoriels est déjà là près de vous... Et vous savez quoi... il s'est installé d'office sur vot' pc avec votre install de //vim// via le paquet vim-runtime !((La commande qui l'indique : <code user>dpkg -L vim-runtime |grep vimtutor</code>))\\ | + | //- Le meilleur des tutoriels est déjà là près de vous... Et vous savez quoi... il s'est installé d'office sur vot' pc avec votre install de //**vim**//((sauf avec vim-tiny, mais qui voudrait n'installer que le vim-tiny, franchement ;-) )) via le paquet //''vim-runtime''// !((La commande qui l'indique : <code user>dpkg -L vim-runtime |grep vimtutor</code>))\\ |
- | //- Noooooon ?\\ | + | - Noooooon ?\\ |
- | - Et si mon gars, d'office dans l'office... Tout prêt à vous servir !// | + | - Et si mon gars, d'office dans l'office... Tout prêt à vous servir !// |
Pour le voir, dans la console saisissez et validez : | Pour le voir, dans la console saisissez et validez : | ||
Ligne 72: | Ligne 71: | ||
==== Le mode normal ==== | ==== Le mode normal ==== | ||
- | Permet le déplacement par les flèches du clavier, la suppression... Mais pour écrire et remplacer, il faut passer en mode saisi par la touche ''i'' ou sur la touche ''Inser'' | + | Permet le déplacement par les flèches du clavier, la suppression... Mais pour écrire et remplacer, il faut passer en mode saisi par la touche <key>i</key> ou sur la touche <key>Inser</key> |
==== Le mode saisie ==== | ==== Le mode saisie ==== | ||
- | Le mode saisie s'obtient par la touche ''i'' (ou la touche ''Inser''). | + | Le mode saisie s'obtient par la touche <key>i</key> (ou la touche <key>Inser</key>). |
Il permet d'écrire dans le fichier ouvert : | Il permet d'écrire dans le fichier ouvert : | ||
<code>vim /chemin/de/votre/fichier</code> | <code>vim /chemin/de/votre/fichier</code> | ||
- | À l'ouverture, nous pouvons nous déplacer dans le texte du fichier avec les flèches du clavier où avec les lettres du clavier ''g h j k l'' jusqu'à l'endroit où nous désirons intervenir. | + | À l'ouverture, nous pouvons nous déplacer dans le texte du fichier avec les flèches du clavier où avec les lettres du clavier <key>g</key> <key>h</key> <key>j</key> <key>k</key> <key>l</key> jusqu'à l'endroit où nous désirons intervenir. |
Ligne 93: | Ligne 92: | ||
Attention, en mode commande, les flèches du clavier ne permettent plus les déplacements habituels dans le texte. Il faut utiliser les codes de placement du curseur pour la saisie. \\ | Attention, en mode commande, les flèches du clavier ne permettent plus les déplacements habituels dans le texte. Il faut utiliser les codes de placement du curseur pour la saisie. \\ | ||
- | Utilisez les lettres du clavier ''g h j k l'' ! | + | Utilisez les lettres du clavier <key>g</key> <key>h</key> <key>j</key> <key>k</key> <key>l</key> ! |
+ | |||
+ | Pour continuer l'action précédente, taper sur :\\ | ||
+ | |||
+ | 1 - <key>Échap</key> pour revenir en mode commande,\\ | ||
+ | |||
+ | 2 - puis <key>:</key> <key>w</key> <key>Entrée</key> pour enregistrer\\ | ||
+ | |||
+ | 3 - et <key>:</key> <key>q</key> <key>Entrée</key> pour quitter wim.\\ | ||
- | Pour continuer l'action précédente, taper sur : | ||
- | - ''Échap'' pour revenir en mode commande, | ||
- | - puis '':w'' pour enregistrer | ||
- | - et '':q'' pour quitter wim. | ||
Et voilà les modifications faites. | Et voilà les modifications faites. | ||
Ligne 106: | Ligne 109: | ||
<code user>vim fichier1 fichier2</code> | <code user>vim fichier1 fichier2</code> | ||
- | On ira d'un fichier à un autre en tapant les touches du clavier '':previous'' et '':next'' | + | On ira d'un fichier à un autre en tapant les touches du clavier <key>:</key> + <key>previous</key> et <key>:</key> + <key>next</key> |
==== Ouvrir 2 fichiers dans 1 terminal ==== | ==== Ouvrir 2 fichiers dans 1 terminal ==== | ||
- | Cela permet de copier de l'un à l'autre. | + | Cela permet de copier en utilisant les commandes vim de l'un à l'autre. |
<code user>vim fichier1</code> | <code user>vim fichier1</code> | ||
- | Puis en mode commande((tapez sur Echap)) : | + | Puis en mode commande((tapez avant tout sur <key>Echap</key>)) : |
:split fichier2 | :split fichier2 | ||
- | Et on ira d'un fichier à un autre par le mode commande en tapant 2 fois la combinaison de touches : | + | Et on ira d'un fichier à un autre par le mode commande en tapant 2 fois la touche w tout en gardant la touche <key>Ctrl</key> appuyée :\\ |
- | Ctrl w | + | |
+ | <key>Ctrl</key> + <key>w</key> + <key>w</key> | ||
+ | |||
+ | ==== split 1 fichier ==== | ||
+ | |||
+ | Vous éditez d'abord le fichier, puis vous tapez la commande : | ||
+ | :split | ||
+ | |||
+ | Ce même fichier s'ouvre alors sur 2 fenêtres ! \\ | ||
+ | Par exemple, on peut lire les lignes de variables dans une fenêtre et leur application dans l’autre. | ||
+ | |||
+ | Pour changer de fenêtre la même procédure s'applique : | ||
+ | <key>Ctrl</key> + <key>w</key> + <key>w</key> | ||
+ | |||
+ | ==== Fermeture ==== | ||
+ | |||
+ | * La commande :q quitte entièrement vim | ||
+ | * La commande :close quitte la fenêtre active en conservant vim ouvert. | ||
+ | * La commande :only laisse ouverte la fenêtre active et ferme toutes les autres avec le message habituel si vous n'avez pas enregistré les modifications. | ||
+ | |||
+ | |||
+ | ==== Fenêtres-dimensions ==== | ||
+ | |||
+ | Ouvrir par exemple une fenêtre de 10 lignes se fait par la commande : | ||
+ | :10split fichier1 | ||
+ | |||
+ | Pour modifier cette taille confortablement vous pouvez activer la souris : | ||
+ | :set mouse=a | ||
+ | |||
+ | et manipuler maintenant les barres de séparation avec le pointeur. | ||
+ | |||
+ | === split vertical === | ||
+ | |||
+ | split ouvre d'office des fenêtres partagées horizontalement. \\ | ||
+ | Pour avoir des fenêtres partagées verticalement, la commande est //vsplit//, soit : | ||
+ | :vsplit fichier2 | ||
+ | |||
+ | //Bingo !// LOL | ||
===== vimdiff ===== | ===== vimdiff ===== | ||
Ligne 165: | Ligne 205: | ||
:wq | :wq | ||
- | Si au contraire on veut modifier à l'inverse, il faut se placer dans la fenêtre diff2 par la combinaison clavier tapée deux fois : | + | Si au contraire on veut modifier à l'inverse, il faut se placer dans la fenêtre diff2 par la combinaison clavier tapée deux fois :\\ |
- | Ctrl w | + | |
- | Ctrl w | + | <key>Ctrl</key> + <key>w</key> |
+ | |||
+ | <key>Ctrl</key> + <key>w</key> | ||
Ce qui nous place dans la fenêtre suivante et refaire la commande mais à l'inverse : | Ce qui nous place dans la fenêtre suivante et refaire la commande mais à l'inverse : | ||
Ligne 197: | Ligne 239: | ||
===== Vim - La navigation ===== | ===== Vim - La navigation ===== | ||
+ | |||
+ | Pour connaître le chemin du fichier en cours d'édition, utiliser le raccourci :\\ | ||
+ | |||
+ | <key>Ctrl</key> + <key>g</key> | ||
+ | |||
Naviguer dans les répertoires sans quitter la commande vim | Naviguer dans les répertoires sans quitter la commande vim | ||
Ligne 236: | Ligne 283: | ||
Et s'il n'y a pas de texte..? | Et s'il n'y a pas de texte..? | ||
- | Bigre, taper sur la lettre i du clavier (pour insérer) et écrivez un texte court, beau, plaisant à voir et à modifier, un texte à la Prevert, une poësie libre de deux trois lignes en quelques mots... | + | Bigre, taper sur la lettre <key>i</key> du clavier (pour insérer) et écrivez un texte court, beau, plaisant à voir et à modifier, un texte à la Prevert, une poësie libre de deux trois lignes en quelques mots... |
Ou plus prosaïquement, __la copie__ d'un fichier de configuration, genre fstab ou .bashrc ou encore le fichier default de site-availables... genre... | Ou plus prosaïquement, __la copie__ d'un fichier de configuration, genre fstab ou .bashrc ou encore le fichier default de site-availables... genre... | ||
- | En mode commande (tapez echap pour y parvenir), déplacez le curseur au début de la première ligne à intervenir (copier, déplacer, supprimer... voir les raccourcis commandes vim), tapez la lettre "v" du clavier et déplacez le curseur jusqu'au dernier mot où vous désirez intervenir... | + | En mode commande (tapez <key>echap</key> pour y parvenir), déplacez le curseur au début de la première ligne à intervenir (copier, déplacer, supprimer... voir les raccourcis commandes vim), tapez la lettre <key>v</key> du clavier et déplacez le curseur jusqu'au dernier mot où vous désirez intervenir... |
Yop, la sélection s'opère sous nos yeux même ! Reste à appliquer ce que nous désirons faire. | Yop, la sélection s'opère sous nos yeux même ! Reste à appliquer ce que nous désirons faire. | ||
Ligne 270: | Ligne 317: | ||
Il me faut d'abord copier ce paragraphe puis le coller dans le même fichier (c'est au plus simple), et changer la route **sitevideo** en **site-resto** cool. | Il me faut d'abord copier ce paragraphe puis le coller dans le même fichier (c'est au plus simple), et changer la route **sitevideo** en **site-resto** cool. | ||
- | En mode commande (taper sur //Echap// pour vous en assurer...) taper la lettre : | + | En mode commande (taper sur <key>Echap</key> pour vous en assurer...) taper la lettre : <key>v</key> |
- | v | + | |
- | et appliquez le **TP-01** pour sélectionner tout le paragraphe taper : | + | et appliquez le **TP-01** pour sélectionner tout le paragraphe taper : <key>y</key> |
- | y | + | |
- | Et pour le coller après, déplacer le curseur à l'endroit où vous voulez insérer le nouvel alias et taper | + | Et pour le coller après, déplacer le curseur à l'endroit où vous voulez insérer le nouvel alias et taper <key>Shift</key> + <key>p</key> |
- | Shift (Majuscule) p | + | |
- | Toujours en mode commande, positionner le curseur sur le A de //Alias// du début de ce paragraphe copié (utiliser les lettres ghjkl commandes identiques aux flèches du clavier pour ce faire... hi hi hi). | + | Toujours en mode commande, positionner le curseur sur le A de //Alias// du début de ce paragraphe copié\\ |
+ | (utiliser les lettres <key>g</key> <key>h</key> <key>j</key> <key>k</key> <key>l</key> commandes identiques aux flèches du clavier pour ce faire... hi hi hi). | ||
- | Taper la lettre **v** et selectionner tout le paragraphe au clavier (voir **TP-01**, encore...) | + | Taper la lettre <key>v</key> et sélectionner tout le paragraphe au clavier (voir **TP-01**, encore...) |
Lors donc, taper la commande | Lors donc, taper la commande | ||
Ligne 304: | Ligne 349: | ||
==== TP-03 Insertion de ligne ==== | ==== TP-03 Insertion de ligne ==== | ||
- | Pour insérer une ligne suivant la ligne en cours, depuis le mode Commande de vim (tapez //Echappe// d'abord pour en être sûr) tapez : | + | Pour insérer une ligne suivant la ligne en cours, depuis le mode Commande de vim (tapez <key>Echap</key> d'abord pour en être sûr) tapez <key>o</key> |
- | o | + | |
Vous voilà en mode Insersion dans une ligne vierge ajoutée. \\ | Vous voilà en mode Insersion dans une ligne vierge ajoutée. \\ | ||
- | Tapez la touche "Echappe" pour revenir en mode Commande. | + | Tapez la touche <key>Echap</key> pour revenir en mode Commande. |
===== Astuces ===== | ===== Astuces ===== |