Je voudrais insérer un mot sur plusieurs lignes, y a-t-il une commande comme
:[2,3,5,7,11]s/^/word\ /g
qui insérerait word
au début des lignes 2, 3, 5, 7 et 11?
Ici, plusieurs lignes ne sont pas contiguës.
Je voudrais insérer un mot sur plusieurs lignes, y a-t-il une commande comme
:[2,3,5,7,11]s/^/word\ /g
qui insérerait word
au début des lignes 2, 3, 5, 7 et 11?
Ici, plusieurs lignes ne sont pas contiguës.
Réponses:
Effectuer une substitution sur plusieurs lignes consécutives est assez simple:
:2,11s/^/word /
mais une plage ne peut pas couvrir des lignes non consécutives.
Cependant, avec un peu de créativité, il est tout à fait possible de contourner cette "limitation".
En effet, vous pouvez répéter la dernière substitution avec :&
ou :&&
(la première ne conservera pas les drapeaux d'origine, la seconde le fera) afin de pouvoir enchaîner assez facilement les substitutions:
2s/^/word /|3&|5&|7&|11&
Voir :help :&
et faire défiler pour :&&
.