Tools - Vi Editor
Gestion Fichier
| Commands | Description |
|---|---|
| :w | Sauvegarde le contenu du fichier (l'enregistrer), penser à write |
| :x | Sauvegarde puis quitte vi (exit) |
| :wq | Sauvegarde puis quitte (write and quit) |
| ZZ | Sauvegarde si nécessaire puis quitte |
| :q | Quitte vi sans sauvegarder les modifications (quit) |
| :e! | Ignore les modifications et recharge le fichier (le point d'exclamation marque l'impératif) |
| :q! | Quitte immédiatement, sans rien faire d'autre (donc sans sauvergarder ni demande de confirmation) |
| :w nom_fichier | Sauvegarde le fichier sous le nom nom_fichier |
| :w! nom_fichier | Remplace le contenu du fichier nom_fichier |
Déplacement
Dans la Page
| Commands | Description |
|---|---|
| Ctrl + f | Descend d'une page (forward, en avant) |
| Ctrl + b | Remonte d'une page (back, en arrière) |
| Ctrl + d | Descend d'1/2 page |
| Ctrl + u | Remonte d'1/2 page |
| :X | Va à la ligne numérotée X (X est un entier) |
Dans le Fichier
| Commands | Description |
|---|---|
| H | En haut de l'écran |
| M | Au milieu de l'écran |
| L | En bas de l'écran (lower, au plus bas) |
| h | Décale d'un caractère à gauche |
| j | Descend d'une ligne |
| k | Monte d'une ligne |
| l | Décale d'un caractère à droite |
| 0 | Au début de la ligne |
| $ | A la fin de la ligne ('$', dans un motif de regexp, désigne la fin d'une ligne) |
| w | Au début du mot suivant (word, mot) |
| e | A la fin du mot suivant (end, fin) |
| b | Recule d'un mot (back, retour) |
| { | Recule jusqu'au paragraphe suivant |
| } | Avance jusqu'au paragraphe précédent |
| ( | Recule jusqu'à la phrase suivante |
| ) | Avance jusqu'à la phrase précédente |
Insertion
| Commands | Description |
|---|---|
| i | Active le mode insertion |
| a | Active le mode insertion, un caractère après le curseur (append, ajouter) |
| I | Insère au début de la ligne |
| A | Insère à la fin de la ligne |
| O | Insère une ligne au-dessus du curseur et passe en mode insertion (open, ouvrir) |
| o | Insère une ligne en dessous du curseur et passe en mode insertion |
| Esc | Quitte le mode insertion, revient en mode commande |
Remplacement
| Commands | Description |
|---|---|
| rx | Remplace le caractère à la position du curseur par x (x remplace ici n'importe quel caractère) |
| R | Remplace le caractère à la position du curseur par x (x remplace ici n'importe quel caractère) |
| cw | Remplace uniquement le mot à la position du curseur (word, mot) ([ESC] pour terminer) |
| cnw | Remplace n mots ([ESC] pour terminer) |
| C | Remplace la ligne ([ESC] pour terminer) |
Suppression
| Commands | Description |
|---|---|
| x | Supprime un caractère |
| dw | Supprime un mot (delete, détruire) |
| dnw | Supprime n mots |
| dd | Supprime une ligne |
| ndd | Supprime n lignes |
| :%d | Supprime toutes les lignes |
Copier/Coller
Local
| Commands | Description |
|---|---|
| Y | Copie une ligne, donc la place dans un tampon, pour pouvoir ensuite la coller (yank, tirer) |
| nY | Copie n lignes |
| P | Colle les lignes avant le curseur (paste, coller) |
| p | Colle les lignes après le curseur |
Autre Fichier
| Commands | Description |
|---|---|
| ma | Marque la position "a" dans le fichier |
| mb | Marque la position "b" dans le fichier |
| 'a,'b nom_fichier | Copie dans le fichier nommé nom_fichier le texte situé entre la position "a" et la position "b" |
Annuler/Répéter
| Commands | Description |
|---|---|
| u | Annule la dernière modification (undo, défaire) |
| U | Annule toutes les modifications effectuées sur la ligne courante |
| . (Point) | Répète les dernières modifications |
Rechercher/Remplacer
| Commands | Description |
|---|---|
| /motif | Recherche motif en allant vers la fin du document |
| ?motif | Recherche motif en allant vers le début du document |
| n | Répète la dernière recherche (next, suivant) |
| N | Retourne au résultat de la précédente recherche effectuée |
| //[RET] | Répète la dernière recherche |
| :x,y s/motif/motif2/g | Recherche le motif, en allant de la ligne numérotée x à la ligne y, et le remplace par motif2 |
| :g/motif/s//motif2/g | Recherche dans tous les fichiers le motif et la remplace par motif2 (global) |
| :g/motif/s//motif2/gc | Idem, mais demande une confirmation avant de remplacer |