69 votes

Vim supprime la balise HTML, mais pas le contenu

J'ai vim

 <p>Hello stackoverflow!</p>
 

Et je veux supprimer la balise p dans vim pour terminer avec:

 Hello stackoverflow!
 

Je sais que j'ai le commandement de faire le contraire. Mais je ne trouve pas comment faire cela.

J'utilise Janus .

96voto

Benoit Points 35553

Avec le plugin surround.vim, utilisez dst (pour supprimer la balise environnante). Idem avec ds( , ds" etc.

91voto

Randy Morris Points 16975

Une solution simple serait (avec le curseur n'importe où dans la balise):

 yitvatp
 

Qu'est-ce que cela fait, c'est:

  • y - bouleversement
  • it - l'intérieur de la balise
  • vat - sélectionne la balise entière
  • p - colle le texte précédemment arraché

6voto

Rob Points 1895

La réponse de Love Randy (+1) et je viens d’apprendre à propos des blocs de tags! Ceci est juste une réponse supplémentaire.

Donc yit signifie "bloc de balises internes" et vat "passe en mode visuel et sélectionne un bloc de balises (entier)".

Ceci est juste pour ceux qui sont trop paresseux pour lire le fichier d'aide:

 Tag blocks                      *tag-blocks*

For the "it" and "at" text objects an attempt is done to select blocks between
matching tags for HTML and XML.  But since these are not completely compatible
there are a few restrictions.

The normal method is to select a <tag> until the matching </tag>.  For "at"
the tags are included, for "it" they are excluded.  But when "it" is repeated
the tags will be included (otherwise nothing would change).  Also, "it" used
on a tag block with no contents will select the leading tag.

"<aaa/>" items are skipped.  Case is ignored, also for XML where case does
matter.

In HTML it is possible to have a tag like <br> or <meta ...> without a
matching end tag.  These are ignored.

The text objects are tolerant about mistakes.  Stray end tags are ignored.
 

4voto

Fredrik Pihl Points 20944

Mappez ceci sur une clé de votre choix:

 vat<Esc>da>`<da>
 

Tiré de http://vim.wikia.com/wiki/Delete_a_pair_of_XML/HTML_tags

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X