2010-11-07 15 views
17

Al igual que cuando edito el archivo fuente C, puedo presionar% para obtener el cierre} para el cursor actual {. ¿Cómo puedo hacer esto cuando edito archivos html? ¿Hay accesos directos? Para que quede claro, yo quiero:¿cómo puedo encontrar la etiqueta close html rápidamente en vim?

<html> 
</html> 

Cuando los movimientos curosr a <html>, quiero que pulsar una tecla, de modo que el cursor saltará a </html>.

+0

posible duplicado de [Saltar a juego etiquetas XML en Vim] (http://stackoverflow.com/questions/500989/jump-to-matching-xml-tags-in-vim) Si – kenorb

Respuesta

14

Debería poder hacer esto con el complemento matchit escribiendo% cuando el mouse esté en la etiqueta de apertura.

http://www.vim.org/scripts/script.php?script_id=39

+4

No estoy equivocado, el complemento de Matchit está incluido en la distribución de vim, por lo que este enlace es irrelevante. Para instalarlo, consulte ': h matchit-install' (pero le sugiero que reemplace todos los comandos' cp' por 'ln -s', para no volver a copiar cada vez que se actualice). – ZyX

+1

Depende de su distribución. Parece que gvimportable de portableapps.com no lo incluye. Podría estar equivocado y espero que sí. – Benoit

5

he tenido problemas con esto es el pasado, incluso con el plugin MatchIt. La forma en que lo resolví fue modificar b: match_words en archivos de tipo xml. Aquí está la sección relevante de mi .vimrc:

autocmd FileType html let b:match_words = '<\(\w\w*\):</\1,{:}' 
    autocmd FileType xhtml let b:match_words = '<\(\w\w*\):</\1,{:}' 
    autocmd FileType xml let b:match_words = '<\(\w\w*\):</\1,{:}' 

Pruébalo, mira si ayuda.

+0

Puede tener una línea en su '.vimrc': \t': let loaded_matchit = 1'. Lo agregué al principio sin leer el documento con cuidado. Así que me lleva mucho tiempo depurar este error. –

+0

En mi caso, no tengo esta línea, pero gracias por la sugerencia. –

18

Puede saltar entre las etiquetas que utilizan los operadores visuales, en el ejemplo:

  1. Coloque el cursor en la etiqueta.
  2. Ingrese al modo visual presionando v.
  3. Seleccione el bloque de etiqueta externa pulsando un + t o i + t para el bloque de la etiqueta interior.

El cursor debe avanzar hacia la etiqueta de cierre correspondiente html/xml. Para saltar hacia atrás desde la etiqueta de cierre, presione o o O para saltar a la etiqueta opuesta.

Ahora podrá salida visual pulsando Esc , cambiarlo por c o copiar por y.


dejar constancia de que la acción en el registro, pulse qq para iniciar la grabación, realice etiqueta de salto que el anterior (incluyendo Esc), pulse q para terminar. Luego, para invocar el salto, presione @q.


Ver más ayuda en :help visual-operators o :help v_it:

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

que interior <tag> </tag> bloque


Como alternativa, use un complemento como matchit.vim (Vea: Using % in languages without curly braces).


Consulte también:

+1

Excepcional. Había estado buscando algo para analizar HTML y encontrar etiquetas de inicio y final, pero no pude encontrar nada útil. HTML es un desorden en el mejor de los casos. La peor de todas las marcas, y ningún marcado es bueno. Esto funcionó bien, gracias. – MagicLAMP

Cuestiones relacionadas