, ,

Range ou portée sous Vim

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

Références