2012-03-14 11 views
8

Estoy usando vim con la barra de etiquetas, los complementos jsctags y taglist-plus. Todos parecen funcionar correctamente, pero no puedo saltar a una declaración de función/variable. Intenté ctrl +] pero no funciona. ¿Es posible configurar vim para que pueda saltar a una declaración de función o variable?¿Cómo saltar a la definición de la función Javascript en vim?

+0

Suponiendo que está definiendo sus funciones y variables con 'var name =' ... ¿no podría simplemente ':/var \ name'? – jondavidjohn

+0

Supongo que podría funcionar, pero sería más fácil si pudiera presionar una tecla de método abreviado para encontrarlo exactamente como para las funciones. –

Respuesta

6

Sin necesidad jsctags, Tengo el siguiente en mis ~/.ctags para el manejo de JavaScript correctamente:

--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Object\(/\1/o,object/                        
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/o,object/ 
--regex-JavaScript=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/f,function/ 
--regex-JavaScript=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\([^\]\)]*\)/\1/f,function/ 
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*new[ \t]+Array\(/\1/a,array/ 
--regex-JavaScript=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/a,array/ 
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^""]'[^'']*/\1/s,string/ 
--regex-JavaScript=/([^= ]+)[ \t]*=[ \t]*[^'']"[^""]*/\1/s,string/ 

Utilizando lo anterior, un simple ctags -R genera los archivos de símbolos apropiada para que coincida con la función JavaScript (y variable y objeto) definiciones.

+0

Intenté eso y todavía no puedo saltar a las definiciones de funciones. –

+0

@javascriptninja ¿Y volvió a generar su archivo de etiqueta después de agregar esto? –

+0

Sí, acabo de escribir ctags -R. –

3

TagBar y TagList no generan el archivo tags utilizado por Vim para pasar a las definiciones.

Si desea que esta capacidad de salto que tiene que generar este archivo de forma manual desde el terminal:

$ ctags -R . 

si utiliza ctags o:

$ jsctags . 

si utiliza jsctags, bien del propio Vim .

Cuestiones relacionadas