¿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?
¿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?
Respuestas:
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.
Puede saltar entre etiquetas usando operadores visuales, por ejemplo:
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:
El complemento xmledit( http://vimawesome.com/plugin/xmledit ) permite saltar entre etiquetas abiertas y cerradas usando
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.
>funcionará como antes, si estás en eldivfuncionará como quieras).