2010-12-27 15 views
12

tengo el siguiente código en mi .vimrc:ctags Regenerar en vim utilizando RVM

map <Leader>rt :!ctags --extra=+f -R *<CR><CR> 

Esto genera ctags para mi directorio actual.

estoy usando RVM, estoy trabajando en diferentes proyectos, con diferentes versiones de rubí (gemsets través de RVM.

que tienen un $ GEM_PATH diferentes por proyecto, y quiero generar los ctags de las gemas en este camino también.

¿Cómo debería ser la línea anterior para comprobar si se establece la variable $ GEM_PATH, y el procesamiento de estos caminos también?

O mejor aún cómo comprobar si tengo un archivo .rvmrc, y generar ctags dependiendo de los contenidos de este archivo?

Respuesta

14

utilizo para gestionar bundler gemas, así que uso

ctags -R `bundle show rails`/../* 

para obtener las etiquetas para las gemas.

+0

gracias, usted tiene un error tipográfico: carriles paquete de demostración, buena idea – astropanic

+0

gracias, voy a hacer la edición ... – karmajunkie

+0

No debería ser backtics todo el comando bundle -no puede obtener SO para renderizar correctamente. – karmajunkie

11

Si está utilizando rvm, puede usar rvm gemdir. Por ejemplo, esto es lo que estoy usando:

map <Leader>rt :!ctags --extra=+f --exclude=.git --exclude=log -R * `rvm gemdir`/gems/*<CR><CR> 

Esto siempre usará el directorio joya en su gemset RVM actual.

+0

¿Es posible usar esto para generar etiquetas solo para la última versión de cada gema? – Sathish

6

versión genérica para etiquetar todas las gemas instaladas (se necesita un tiempo):

map <silent><Leader>rt :!ctags --extra=+f --exclude=.git --exclude=log -R * `gem environment gemdir`/gems/*<CR><CR> 

Si desea simplemente etiquetar paquetes de gemas (mucho más rápido):

map <silent> <Leader>rt :!bundle list --paths=true \| xargs ctags --extra=+f --exclude=.git --exclude=log -R *<CR><CR> 
3

Esto funciona bien para mí:

map <Leader>rt :!/usr/local/bin/ctags --language-force=ruby --exclude=.git --exclude=log -R * `bundle show --paths` 

Adición --language = fuerza de rubí con el fin de reducir el tamaño del archivo de etiquetas y que sea limpio.

2

Eso es lo que utilizo:

ctags -R --exclude=.git --exclude=log * $(rvm gemdir) 
Cuestiones relacionadas