Question

Je fais un raccourci qui place un # à l'avant de chaque ligne, dans les x lignes. x est un type numéro I avant d'entrer dans le raccourci, comme 11dd de frappe supprime les onze lignes suivantes.

La commande est .,+10 s/^/#/g. Ici, le numéro dix devrait vraiment être tout a été tapé avant le raccourci. Comment puis-je faire le changement de raccourci en fonction du nombre qui a été tapé avant qu'il?

ajouté après la question a répondu:

Alors maintenant, je suis ce qui suit dans le Vimrc:

nmap c1 :s/^/#/g<esc>``
nmap c0 :s/^#//g<esc>``

Ce qui me permet de taper 13ac, ajouter # à l'avant des 13 lignes suivantes, et 13dc de supprimer tout # à l'avant des 13 lignes suivantes.

Il vaut mieux que =pod et =cut car ils provoquent des erreurs imbriquées.
c1 = Ajouter commentaire,
c0 = commentaire supprimer.
# Est utilisé en Perl.

Était-ce utile?

La solution

En mode ex, vous pouvez utiliser la commande suivante:

s/^/#/count

count est le nombre de lignes que vous souhaitez modifier. Vous ne pouvez pas mettre le numéro avant la commande, car qui est utilisé pour sélectionner la ligne de départ (ligne actuelle si elle est omise). Ainsi:

5s/^/#/3

ajoutera un '#' avant les lignes 5, 6 et 7.

Modifier

En mode ex vous pouvez utiliser la commande map pour créer un raccourci vers une commande de deux points, que vous pouvez ensuite utiliser avec un préfixe:

map CC :s/^/#/g

Vous pouvez maintenant utiliser « xCC » en mode vi préfixer « # » pour les prochaines lignes de x.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top