¿Cómo puedo seleccionar el contenido de una etiqueta HTML en Vim?

43

¿Es posible seleccionar el contenido de una etiqueta HTML en Vim?

Por ejemplo:

<p>I am a silly butterfly</p>

Me gustaría seleccionar "Soy una mariposa tonta".

Sé que puede usar vi"para seleccionar texto dentro de comillas, corchetes, etc. El problema aquí es que el texto dentro de las etiquetas HTML no está realmente dentro de nada para lo que pueda usar la ifunción.

fholgado
fuente

Respuestas:

68

Se puede utilizar vitpara visually seleccione el texto ina tAG. Ver

:help v_it
garyjohn
fuente
2
¡Perfecto! Voy a escribir una publicación sobre esto en mi blog, no pude encontrar nada en Google con "Vim seleccionando el contenido de la etiqueta html" y otros.
fholgado
También puedes sustituirlo vcon muchos otros comandos, que a menudo uso cpara ccolgar; >y <para arreglar la sangría.
dukedave
8
@ hobbes3: para incluir las etiquetas en la selección, use vat. Pienso en itcomo en una etiqueta y atcomo una etiqueta. Ver :help at.
garyjohn
1
¿Soy el único con el que vim selecciona la etiqueta de apertura vit? Me ha estado molestando durante años y no tengo idea de por qué Vim hace eso.
Jonathan Dumaine
2
Tenga en cuenta que también puede usar ambas múltiples veces, por ejemplo. vatat
user1338062
6

Aquí están los pasos:

  1. Coloque el cursor en la etiqueta.
  2. Ingrese al modo Visual presionando v.
  3. Seleccione el bloque de etiqueta interna presionando i+ t(o a+ tpara el bloque de etiqueta externa).

at un <tag> </tag>bloque (con etiquetas)

it<tag> </tag>bloque interior

Ver más en " ¿Cómo saltar entre etiquetas HTML / XML coincidentes? ".

kenorb
fuente
0

Si el formato tiene una sangría como esta,

<div>
  <p>
    I am a silly butterfly
  </p>
  <p>
    I am a silly butterfly
  </p>
</div>

Puede usar el complemento can vim-indent-object y escribirvii

Foxiris
fuente