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 [17/07/2015 13:11] milou [Les modes] |
doc:editeurs:vim:vim [21/07/2019 03:43] smolski [Les modes] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* 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>à-compléter}} |
* Création par [[user>smolski]] le 10-07-2009 19:37:07 | * Création par [[user>smolski]] le 10-07-2009 19:37:07 | ||
* Testé par [[user>smolski]] le 10-07-2009 19:37:07 | * Testé par [[user>smolski]] le 10-07-2009 19:37:07 | ||
Ligne 16: | 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 ===== | ||
Ligne 38: | Ligne 36: | ||
<code root>update-alternatives --set editor /usr/bin/vim.nox</code> | <code root>update-alternatives --set editor /usr/bin/vim.nox</code> | ||
- | Trôôôp cool... Merci captnfab ! voir tuto : | + | Trôôôp cool... Merci de ces indications captnfab ! \\ |
- | + | ||
- | http://wiki.chezlefab.net/tuto_nix/installation_squeeze#installation_du_meilleur_ami_du_debianiste | + | |
- | + | ||
- | //droit devant et vent debout, le 'pitaine là...// | + | |
===== Vimtutor ===== | ===== Vimtutor ===== | ||
Ligne 66: | Ligne 60: | ||
===== Les modes ===== | ===== Les modes ===== | ||
- | |||
Vim se gère sous 3 modes : le mode normal, le mode saisie et le mode commande. | Vim se gère sous 3 modes : le mode normal, le mode saisie et le mode commande. | ||
- | ==== Le mode normal ==== | + | ==== Le mode commande simple ==== |
+ | Après l'ouverture d'un fichier : | ||
+ | |||
+ | <code>vim /chemin/de/votre/fichier</code> | ||
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> | 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 ==== | + | À 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. |
- | Le mode saisie s'obtient par la touche <key>i</key> (ou la touche <key>Inser</key>). | + | * La touche <key>h</key> pour vous déplacer vers la gauche. |
+ | * La touche <key>l</key> pour vous déplacer vers la droite. | ||
+ | * La touche <key>j</key> pour vous déplacer vers le bas. | ||
+ | * La touche <key>k</key> pour vous déplacer vers le haut. | ||
+ | * La touche <key>g</key> pour vous déplacer de page en page | ||
+ | * ''G'' pour aller à la dernière ligne | ||
+ | * ''gg'' pour aller à la première ligne | ||
+ | * ''2g'' pour aller à la ligne n°2 ; ''3g'' pour aller à la ligne n°3, etc,. | ||
- | Il permet d'écrire dans le fichier ouvert : | + | On peut aussi se déplacer avec les flèches ←↓↑→ |
- | <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 <key>g</key> <key>h</key> <key>j</key> <key>k</key> <key>l</key> jusqu'à l'endroit où nous désirons intervenir. | + | Le mode commande "simple" c'est-à-dire le mode qui permet de lancer des commandes sans avoir à appuyer sur la touche <key>return</key> permet d'utiliser des commandes pour se déplacer, mais aussi pour passer en ''mode saisie'' ou en mode commande ''ex'' |
+ | ==== Le mode saisie ==== | ||
- | ==== Le mode commande ==== | + | Le mode saisie s'obtient par la touche <key>i</key> (ou la touche <key>Inser</key>). |
+ | |||
+ | ==== Le mode commande ex==== | ||
Le mode commande permet d'enregistrer ce que l'on a écrit/modifié, mais aussi de quitter vim, ou de copier/coller, ou d'effacer, tout ça avec plusieurs options disponibles et plus encore... A découvrir. | Le mode commande permet d'enregistrer ce que l'on a écrit/modifié, mais aussi de quitter vim, ou de copier/coller, ou d'effacer, tout ça avec plusieurs options disponibles et plus encore... A découvrir. | ||
Ligne 94: | Ligne 99: | ||
Utilisez les lettres du clavier <key>g</key> <key>h</key> <key>j</key> <key>k</key> <key>l</key> ! | 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 : | + | Pour continuer l'action précédente, taper sur :\\ |
- | - <key>Échap</key> pour revenir en mode commande, | + | |
- | - puis <key>:</key> <key>w</key> pour enregistrer | + | 1 - <key>Échap</key> pour revenir en mode commande,\\ |
- | - et <key>:</key> <key>q</key> pour quitter wim. | + | |
+ | 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.\\ | ||
Et voilà les modifications faites. | Et voilà les modifications faites. | ||
+ | |||
+ | <note tip> | ||
+ | Les commandes précédées de deux points sont en fait des commandes de l'éditeur ''ex''. vi et ex sont deux interfaces distinctes du même logiciel d'édition de texte. Et à sa base ''vim'' c'est vi ! | ||
+ | |||
+ | Alors que vi est une interface orientée écran, ex est une interface orientée ligne. Toutes les commandes ex sont disponibles à partir de l'éditeur vi. Lorsqu'on appuie sur la touche ":", on passe en fait à l'interface ex (orientée ligne). Cela vous permet d'exécuter de nombreuses commandes de manipulation de fichiers sans quitter vi. | ||
+ | |||
+ | * Voir : | ||
+ | - http://archive.oreilly.com/pub/a/linux/excerpts/9780596529833/the-vi-ex-and-vim-editors.html | ||
+ | - http://www.computerhope.com/unix/uex.htm | ||
+ | </note> | ||
===== Ouvrir 2 fichiers ===== | ===== Ouvrir 2 fichiers ===== | ||
Ligne 105: | Ligne 124: | ||
<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>n</key> <key>Entrée</key> et <key>:</key> + <key>Shift</key> + <key>n</key> <key>Entrée</key> |
==== Ouvrir 2 fichiers dans 1 terminal ==== | ==== Ouvrir 2 fichiers dans 1 terminal ==== | ||
Ligne 113: | Ligne 132: | ||
<code user>vim fichier1</code> | <code user>vim fichier1</code> | ||
- | Puis en mode commande((tapez avant tout 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 touche w tout en gardant la touche Ctrl appuyée : | + | 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 w | + | |
+ | <key>Ctrl</key> + <key>w</key> + <key>w</key> | ||
==== split 1 fichier ==== | ==== split 1 fichier ==== | ||
Ligne 128: | Ligne 148: | ||
Pour changer de fenêtre la même procédure s'applique : | Pour changer de fenêtre la même procédure s'applique : | ||
- | ctrl w w | + | <key>Ctrl</key> + <key>w</key> + <key>w</key> |
==== Fermeture ==== | ==== Fermeture ==== | ||
Ligne 200: | Ligne 220: | ||
: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 233: | Ligne 255: | ||
===== Vim - La navigation ===== | ===== Vim - La navigation ===== | ||
- | Pour connaître le chemin du fichier en cours d'édition, utiliser le raccourci : | + | Pour connaître le chemin du fichier en cours d'édition, utiliser le raccourci :\\ |
- | Ctrl g | + | |
+ | <key>Ctrl</key> + <key>g</key> | ||
Ligne 245: | Ligne 268: | ||
* http://www.commentcamarche.net/faq/7961-petit-tuto-sur-vi-vim | * http://www.commentcamarche.net/faq/7961-petit-tuto-sur-vi-vim | ||
+ | |||
+ | Traduction de toute la documentation de vim dans langue de Molière (un boulot admirable ! :-D ) : | ||
+ | * http://cfennajoui.net/vim/index.php?p_menu=presentation | ||
//Un formidable outil détaillant les principales commandes vim, venu tout droit du //**captnfab**// !// :-) | //Un formidable outil détaillant les principales commandes vim, venu tout droit du //**captnfab**// !// :-) | ||
Ligne 256: | Ligne 282: | ||
Le wiki français non officiel de vim : | Le wiki français non officiel de vim : | ||
* http://vim-fr.org/index.php/Accueil | * http://vim-fr.org/index.php/Accueil | ||
+ | |||
===== TRAVAUX PRATIQUES ===== | ===== TRAVAUX PRATIQUES ===== | ||
Ligne 275: | Ligne 302: | ||
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 309: | Ligne 336: | ||
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 343: | Ligne 368: | ||
==== 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 ===== |