La spécification de la plage par sélection visuelle est correcte, mais lorsqu'il y a des opérations très simples sur seulement quelques lignes qui peuvent être sélectionnées par un opérateur, le mieux serait d'appliquer ces commandes en tant qu'opérateurs.
Cela ne peut malheureusement pas être fait via les commandes standard de vim. Vous pouvez faire une sorte de solution de contournement en utilisant le! (filtre) et tout objet texte. Par exemple, pour appliquer l'opération à un paragraphe, vous pouvez faire:
!ip
Cela doit être lu comme "Appliquer l'opérateur! À l'intérieur d'un paragraphe". L'opérateur de filtre démarre le mode de commande et insère automatiquement la plage de lignes suivie d'un littéral "!" que vous pouvez supprimer juste après. Si vous appliquez ceci, au paragraphe suivant:
1
2 Repellendus qui velit vel ullam!
3 ipsam sint modi! velit ipsam sint
4 modi! Debitis dolorum distinctio
5 mollitia vel ullam! Repellendus qui
6 Debitis dolorum distinctio mollitia
7 vel ullam! ipsam
8
9 More text around here
Le résultat après avoir appuyé sur "! Ap" serait comme:
:.,.+5
Comme le '.' (point) signifie que la ligne actuelle, la plage entre la ligne actuelle et les 5 lignes suivantes seront utilisées pour l'opération. Vous pouvez maintenant ajouter la commande de substitution de la même manière que précédemment.
La mauvaise partie est que ce n'est pas plus facile que de sélectionner le texte pour ce dernier en appliquant l'opérateur. La bonne partie est que cela peut répéter l'insertion de la plage pour d'autres plages de texte similaires (dans ce cas, les paragraphes) avec une taille visiblement différente. C'est-à-dire, si vous souhaitez par la suite sélectionner le plus grand paragraphe de la plage, le '.' le fera bien.
De plus, si vous aimez l'idée d'utiliser des objets texte sémantiques pour sélectionner la plage d'opération, vous pouvez vérifier mon plugin
EXtend.vim qui peut faire de même mais de manière plus simple.