Le range (portée) permet de limiter l'effet d'une commande. On place la portée en préfixe de la commande.
% | Toutes les lignes |
---|---|
. | La ligne courante |
1 | La première ligne |
$ | La dernière ligne |
12,20 | Entre les lignes 12 et 20 |
.+1,$ | De la ligne sous le curseur à la fin du fichier. |
Dans l'exemple ci dessous, on fait une substitution qui opère sur l'ensemble du fichier. On remplace toutes les occurrences de toto par tata. L'argument g en fin de commande permet de définir plusieurs remplacement sur une même ligne si nécessaire:
:% s/toto/tata/g
La portée peut également être définie à l'aide de marques ou par sélection via le mode visuel.
'a,'b s/toto/test/g
Dans l'exemple ci-dessus on remplace toto par test dans l'intervalle définit entre les marques a et b.
Dans le cas du mode visuel, presser : pour passer en mode commande, la portée est automatiquement définie a l'aide des marques spéciales '<,'>
qui définissent les bornes du mode visuel