Les commandes ex sont plus précises et plus pratiques que yank, delete et put pour le traitement de blocs de texte importants. Au lieu de compter les lignes à l'écran, puis de rechercher le point d'insertion, il vous suffit d'indiquer à vi une série de lignes à déplacer ou à copier, puis la ligne précédant le point d'insertion. (Il n'y a pas de point d'insertion pour les commandes de suppresssion.)
Pour afficher les numéros de lignes, tapez :set nu et appuyez sur Return.
Les numéros de lignes s'affichent dans la marge de gauche. Uniquement visibles à l'écran, ils n'apparaissent pas à l'impression du fichier.
1 A te voir si bleu, si profond, 2 Et si brusquement, ô désert ! 3 Comme les Grecs de Xénophon 4 Je me suis écrié : la mer ! ~ ~ ~ ~ ~ ~ :set nu |
Pour supprimer les numéros de lignes, tapez :set nonu et appuyez sur Return.
La commande de copie ex présente le format général suivant :
:noligne,noligne co noligne |
Les deux premiers nombres (séparés par une virgule) indique la série de lignes à copier. Le troisième désigne la ligne située avant le point d'insertion.
Par exemple, pour copier les lignes 1 à 5 du fichier paint et les insérer après la ligne 12, tapez :
:1,5 co 12 |
et appuyez sur Return.
Vous pouvez utiliser les abréviations suivantes pour indiquer des séries de lignes :
Ainsi, pour copier la série de lignes allant "de la ligne en cours à la ligne 5" et insérer ce bloc après la ligne 12, tapez :
:.,5 co 12 |
Pour copier la série de lignes allant "de la ligne 6 à la fin du fichier" et insérer ce bloc après la ligne 2, tapez :
:6,$ co 2 |
La commande de déplacement ex est analogue à la commande de copie décrite précédemment :
:noline,noline m noline |
Les séries de lignes et les points d'insertion sont désignés de la même façon et les abréviations (. et $) sont les mêmes. La seule différence est que la fonction "déplacement" permet d'extraire un bloc pour l'insérer à un autre emplacement.
Par exemple, pour déplacer les lignes 1 à 5 en dessous de la ligne 12, tapez :
:1,5 m 12 |
et appuyez sur Return.
Pour supprimer une série de lignes, utilisez la syntaxe de commande suivante :
:noligne,noligne d |
Par exemple, pour supprimer les lignes 1 à 5, tapez :
:1,5 d |