{{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