La solution que j'ai apprise aujourd'hui (grâce à CMS qui a répondu à la question this) est d'utiliser les mouvements text object de VIM.
placer le curseur dans l'entrée à copier, et saisissez ce qui suit en mode commande: yat
:
y
yanks en fonction du mouvement suivant.
at
sélectionne l'étiquette actuelle.
Notez que si le curseur est à l'intérieur de la balise "ArrayType", c'est ce qui sera supprimé.
Notez également que cela ne supprimera pas les lignes entières. Uniquement de l'attache d'ouverture de l'étiquette d'ouverture à l'attache de fermeture de l'étiquette de fermeture. Cela peut entraîner des problèmes d'alignement si vous ne faites pas attention.
Une façon de contourner cela est de coller avec :put
au lieu de seulement p
, comme ceci: yat:put
.
Notez que cela ne préserve pas l'indentation, car l'entrée XML n'a pas été tirée comme une ligne entière.
Une autre façon de le faire est la suivante: vatVy
:
v
entre en mode visuel.
at
est comme ci-dessus.
V
passe en mode Visualisation ligne et sélectionne la ligne entière.
y
supprime la sélection.
Méthode impressionnante! J'essayais de définir une nouvelle fonction vim, mais l'objet texte semble être assez puissant. –
vous pouvez aller directement dans la ligne visuelle avec V ... par exemple Vaty suffirait pour le deuxième exemple – michael
oui, mais en faisant le 'at' me sort de Line Visual, et je dois appuyer à nouveau sur V de toute façon.Je me dis qu'il vaut mieux sauter le premier quart et appuyer sur v –