Différences entre versions de « Vi / Vim »
(→Coller) |
|||
Ligne 84 : | Ligne 84 : | ||
*''p'' → colle les lignes copiées à la ligne en-dessous | *''p'' → colle les lignes copiées à la ligne en-dessous | ||
*''P'' → colle les lignes copiées au-dessus | *''P'' → colle les lignes copiées au-dessus | ||
+ | |||
+ | = Astuces = | ||
+ | |||
+ | == Suppressions == | ||
+ | |||
+ | *''g/^#/d'' → permet de supprimer les lignes commençant par ''#'' | ||
+ | *''g/^$/d'' → permet de supprimer les lignes vides (sans espace ni tabulation) | ||
+ | *''/coucou'' → permet de placer le curseur sur la prochaine occurrence de ''coucou'' | ||
+ | *''!'' → permet d’exécuter une commande depuis vi, cela démarrera un Shell interactif. | ||
+ | *'':sh'' → permet de passer l’éditeur de texte en arrière plan pour avoir un shell et ''ctrl+d'' permet de le reprendre | ||
+ | |||
+ | == Remplacement == | ||
+ | |||
+ | *'':s/toto/titi/g'' → permet de remplacer toutes les occurrences (grâce au ''/g'') de ''toto'' par ''titi'' sur la ligne du curseur | ||
+ | *'':%s/toto/titi/g'' → permet de remplacer toutes les occurrences (grâce au ''/g'') de ''toto'' par ''titi'' dans tout le document (grâce au ''%'') | ||
+ | *'':[1,5]/toto/titi/g'' → permet de remplacer toutes les occurrences (grâce au ''/g'') de ''toto'' par ''titi'' de la ligne 1 à la ligne 5 (grâce au ''[1,5]'') |
Version du 11 janvier 2014 à 23:52
Introduction
Création d'un fichier texte
vi ou vim (alias sous CentOS) est un éditeur en mode console peu convivial certes, mais ultra puissant et qui s'utilise de la manière suivante:
vi <nom_fichier>
Après l’appuie sur la touche entrer, le prompt disparaît pour laisser place à une série de tilde (~) qui indiquent que les lignes sont vides.
Les modes
Permutation
Il y a deux mode dans vi:
- le mode saisie;
- le mode commande.
Par défaut il est en mode commande et :
- la touche insert ou i permet de passer en mode insertion ;
- la touche Echap permet de revenir au mode commande.
Lorsque l'on est en mode insertion un nouvel appuie sur la touche insert permet de passer en mode replace (remplacement).
Répétitions
n<commande>
Par exemple dd efface une ligne et 5dd efface 5 lignes
Quitter...
...en sauvant
Lorsque l'on a fini d'éditer son fichier texte on peut le sauver en repassant en mode commande (touche Echap) et en tapant:
:wq
Ou bien
:x
Ou encore en appuyant deux fois sur la touche Z (deux Z majuscules)
...en abandonnant les modifications
Si on a fait une erreur et que l'on veut quitter sans sauver on peut le faire en repassant en mode commande (touche Echap) et en tapant:
:q!
Éditer
Undo
u permet de défaire une modification
Repeat
. permet de répéter la dernière commande d’édition
Effacer
- x permet d’effacer le caractère courant
- c permet d’effacer le texte et de passer en mode insertion:
- cw → change jusqu’à la fin du mot
- c$ → change jusqu’à la fin de la ligne
- cc → change la ligne courante
Couper
- d permet de couper grâce à l’appui de:
- dw → coupe jusqu’à la fin du mot
- dd → coupe la ligne complète
- d0 → coupe jusqu’au début de la ligne
Copier
yy → (yank) copie la ligne courante dans le buffer (nyy copie les n lignes)
Coller
- p → colle les lignes copiées à la ligne en-dessous
- P → colle les lignes copiées au-dessus
Astuces
Suppressions
- g/^#/d → permet de supprimer les lignes commençant par #
- g/^$/d → permet de supprimer les lignes vides (sans espace ni tabulation)
- /coucou → permet de placer le curseur sur la prochaine occurrence de coucou
- ! → permet d’exécuter une commande depuis vi, cela démarrera un Shell interactif.
- :sh → permet de passer l’éditeur de texte en arrière plan pour avoir un shell et ctrl+d permet de le reprendre
Remplacement
- :s/toto/titi/g → permet de remplacer toutes les occurrences (grâce au /g) de toto par titi sur la ligne du curseur
- :%s/toto/titi/g → permet de remplacer toutes les occurrences (grâce au /g) de toto par titi dans tout le document (grâce au %)
- :[1,5]/toto/titi/g → permet de remplacer toutes les occurrences (grâce au /g) de toto par titi de la ligne 1 à la ligne 5 (grâce au [1,5])