c'est faisable même dans vanilla vim, mais l'applicabilité dépend de votre cas d'utilisation, c'est-à-dire. combien de fois vous devrez le répéter, car il nécessite quelques touches supplémentaires pour le rendre répétable.
Option 1: le transformer en une opération en mode commande
en vous déplaçant vers le bas de 5 lignes comme exemple, vous pouvez faire:
- entrez
:norm 5j
, cela déplacera le curseur de 5 lignes vers le bas
- utiliser
@:
pour répéter le mouvement
:norm
signifie normal, toute chaîne suivante est considérée comme vos frappes en mode normal
Option 2: utiliser une macro
qa
(stocker la macro dans le registre a
, vous pouvez choisir votre propre registre comme qb
, qc
)
5j
q
(terminer l'enregistrement de la macro)
@a
répéter votre opération enregistrée (remplacer a
par le nom du registre que vous avez choisi, par exemple. @b
, @c
)
La macro nécessite plus de puissance spirituelle pour être configurée, mais elle est plus reproductible dans le sens où vous pouvez stocker plusieurs opérations dans différents registres sans être écrasé par les dernières opérations.
;
n'est pas nouveau. C'est une commande vi standard. Vi se souvient du type et du caractère cible (mais pas de l'argument numérique) du dernier mouvementf
/F
/t
/T
et le;
répète. Cependant, il ne répète pas d'autres motions.Vous pouvez sélectionner les lignes que vous souhaitez modifier et exécuter la dernière commande de point normale
la source