je connais
di<
supprimera dans une balise HTML elle-même.
Existe-t-il un moyen simple de supprimer du texte entre deux balises?
<span>How can I delete this text?</span>
Merci!
dit
supprimera le texte entre les balises XML correspondantes. ( it
est pour "bloc de balises internes".)
Voir :h it
et :h tag-blocks
.
cit
lorsque vous souhaitez écrire immédiatement après.vat
(ouvit
), suivi de répétéesat
(ouit
) pour sélectionner progressivement les balises environnantes. (Ouv2at
, etc.). Puisd
supprimer (etc.).Deux des meilleures commandes d'activation de productivité de vim.
J'économise beaucoup de temps et d'efforts avec ces deux-là.
la source
cit
est couvert dans ce fil, mais pour la postérité,ci"
supprimera jusqu'à la prochaine"
découverte. idéal pour changer les noms de classe dans les balises html, comme<span id="really long annoying-id">
- avec le curseur au début"
, appuyez surci"
et laissez tomber en insérant de nouveaux caractères entre les guillemets.ciw
est également utile car il supprime le mot courant; Je l'utilise plus quecit
et enci"
fait.ci"
supprimera en fait le texte à gauche jusqu'au prochain devis et à droite jusqu'au prochain devis puis entrera en mode insertion.ct"
est en fait la commande pour "supprimer jusqu'au prochain" trouvé ". Mais oui, il se comporte de la même manière si le curseur est sous le guillemet gauche.essayez dt < pendant que le curseur est sur le premier caractère à supprimer. Dans votre exemple, le «H».
la source
( curseur sur le premier caractère à supprimer ) v / <[enter] d
Cette solution commence sur le premier caractère, puis entre en mode visuel ("v"). Il recherche ensuite le crochet de début suivant ("/ <"), puis appuyez sur Entrée pour quitter la recherche.
À ce stade, votre sélection visuelle couvrira le texte à supprimer. appuyez sur d («d») pour le supprimer.
Si je devais faire cela pour un tas de balises, j'enregistrerais la commande et la combinerais avec d'autres recherches pour la rendre répétable. La séquence de touches pourrait ressembler à ceci:
[ curseur au début du fichier ] qa /> [enter] lv / <[enter] dnq
puis appuyez:
20 @ a
faire cela pour 20 balises
la source
c/<[enter]
dans ma "vie Vim", mais maintenant je regrette un peu ça. Vous voyez, la plupart des plugins "Vi-mode" pour d'autres éditeurs / IDE populaires ne prennent pas en charge ce type de commande spécifique. Ils soutiennentcit
,ci"
,ct<
et cependant. Alors, je réenseigne à nouveau.Si vous souhaitez faire l'inverse de la suppression de texte entre les indicateurs, je suggère d'installer Vim-Surround et d'exécuter
dst
ce qui supprime la balise surroundla source