¿Cómo saltar entre etiquetas HTML / XML coincidentes?


44

¿Cómo saltar entre etiquetas coincidentes (como <div>, <span>etc.) al editar documentos HTML / XHTML / XML de manera similar a como %se usa para saltar entre paréntesis coincidentes?


66
posible duplicado del uso de% en lenguajes sin llaves ... Esta solución también funciona para HTML (solo lo probé, si estás en un >funcionará como antes, si estás en el divfuncionará como quieras).
Martin Tournoij

@Carpetsmoker Si esta pregunta se duplicara con una respuesta de tipo general (usando un complemento), entonces no permitirá ninguna respuesta que esté específicamente relacionada con las etiquetas html.
kenorb

Sin embargo, la otra pregunta tiene exactamente la misma respuesta, por lo que este es un duplicado.
Pomo de la puerta

Respuesta de muestra publicada que no cabe en otra pregunta, por lo que no está duplicada.
kenorb

1
@Doorknob El hecho de que dos preguntas tengan la misma respuesta no significa necesariamente que las preguntas sean duplicadas entre sí.
200_success

Respuestas:


45

Vim se envía con una macro llamada matchit que hace esto por usted; todo lo que necesita hacer es activarlo runtime macros/matchit.vimen su vimrc. Esto le permitirá saltar de, por ejemplo, a <div>a su </div>. Tenga en cuenta que su cursor tendrá que estar dentro de los corchetes angulares; Si está en los corchetes angulares, %saltará de un corchete al otro de forma normal.


23

Puede saltar entre etiquetas usando operadores visuales, por ejemplo:

  1. Coloque el cursor en la etiqueta.
  2. Ingrese al modo visual presionando v.
  3. Seleccione el bloque de etiqueta externa presionando a+ to i+ tpara el bloque de etiqueta interna.

Su cursor debería saltar hacia la etiqueta html / xml de cierre correspondiente. Para saltar hacia atrás desde la etiqueta de cierre, presione oo Opara saltar a la etiqueta opuesta.

Ahora puede salir de visual presionando Esc, cambiar por co copiar por y.


Para grabar esa acción en el registro, presione qqpara comenzar a grabar, realice el salto de etiqueta como se indica arriba (incluido Esc), presione qpara finalizar. Luego, para invocar el salto, presione @q.


Ver más ayuda en :help visual-operatorso :help v_it:

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

it<tag> </tag>bloque interior


Alternativamente, use un complemento como matchit.vim o surround.vim .


Ver también:


3

El complemento xmledit( http://vimawesome.com/plugin/xmledit ) permite saltar entre etiquetas abiertas y cerradas usando

  • <localleader>%

A menudo <localleader> lo estará \, así que puedes saltar con

  • \%

NOTA: a diferencia matchit, no tiene que poner el cursor dentro de la etiqueta. Colocarlo en el <o >está perfectamente bien para el xmleditcomplemento. :)

NOTA 2: Un inconveniente aquí es que no puede usarlo en modo visual. Pero esto no es gran cosa, ya que siempre puede seleccionar la etiqueta completa con at.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.