{{tag>range portée vim}}
===== 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 =====
* http://vim.wikia.com/wiki/Ranges