# Vi/Aller un peu plus loin

* Introduction : Découvrir vi
* Prise en main
* Déplacements
* Débuter avec vi
* Aller un peu plus loin
* Introduction : Découvrir vi
* Prise en main
* Déplacements
* Débuter avec vi
* Aller un peu plus loin
[ Modifier le sommaire ]

## Aller un peu plus loin
### Éditer efficacement

Passer au « mode insertion » :
| i | passe au « mode insertion » avant le curseur |
| a | passe au « mode insertion » après le curseur |
| I | passe au « mode insertion » en début de ligne |
| A | passe au « mode insertion » en fin de ligne |
| o | passe au « mode insertion » sur une nouvelle ligne au-dessous du curseur |
| O | passe au « mode insertion » sur une nouvelle ligne au-dessus du curseur |
| Remplacement ||
| r | remplace le caractère sous le curseur |
| R | passe au « mode insertion » en remplaçant les caractères sous le curseur |
| Effacer (couper) ||
| x | efface le caractère sous le curseur |
| dd | efface la ligne du curseur |
| d$ | efface du curseur jusqu'à la fin de la ligne |
| dw | efface du curseur jusqu'à la fin du mot |
| dtc | efface du curseur jusqu'au caractère c suivant non-inclus |
| dfc | efface du curseur jusqu'au caractère c suivant inclus |
| Copier ||
| La syntaxe présentée pour couper est généralement valide pour copier, en remplaçant d par y, d'une manière générale le curseur indique la position de départ et un motif de déplacement indiquent la fin du texte à copier/couper. ||
| Les deux fonctions ont cependant certaines fonctionnalités spécifiques : ||
| "nP | colle le texte du nième effacement (jusqu'à 9) |
| "cyy | copie la ligne du curseur dans le tampon désigné par le caractère c |
| "cP | colle le contenu du tampon c |
Sous vi, une commande peut être lancée plusieurs fois simultanément, n commande lance n fois la commande, par exemple :
* 2yy copie la ligne du curseur et la ligne suivante ;
* 10x efface 10 caractères.

### Se déplacer efficacement

Rechercher :
| /motif | recherche motif vers le bas |
| ?motif | recherche motif vers le haut |
| n | répète la recherche |
| N | répète la recherche dans l'autre sens |
| / | répète la recherche vers le bas |
| ? | répète la recherche vers le haut |
| Déplacer le curseur dans le fichier ||
| e | déplace le curseur à la fin du mot (du mot suivant si déjà atteint) |
| ( | déplace le curseur d'une phrase vers l'arrière |
| ) | déplace le curseur d'une phrase vers l'avant |
| { | déplace le curseur d'un paragraphe vers l'arrière |
| } | déplace le curseur d'un paragraphe vers l'avant |
| [[ | déplace le curseur d'une section vers l'arrière |
| ]] | déplace le curseur d'une section vers l'arrière |
| Remarque : ces motifs de déplacement peuvent être utilisés dans la syntaxe des coupers/copiers ||
| Déplacer le curseur dans la fenêtre de vi ||
| H | déplace le curseur sur la première ligne de l'écran |
| M | déplace le curseur au milieu de l'écran |
| L | déplace le curseur sur la dernière ligne de l'écran |
| ( | déplace le curseur d'une phrase vers l'arrière |
| z <ENTRÉE> | déplace la ligne du curseur en haut de l'écran |
| z. | déplace la ligne du curseur au milieu de l'écran |
| z- | déplace la ligne du curseur en bas de l'écran |
| Marquage ||
| mc | marque la position du curseur du caractère c |
| 'c | déplace le curseur jusqu'à la marque c |
| '' | déplace le curseur jusqu'à la marque précédente |