ctags con taglist en vim y python virtualenv

Utilizo virtualenv y django en mis proyectos y estoy tratando de encontrar una manera más eficiente de navegar por el código fuente de django.

Tal como se aconseja aquí: herramientas para ayudar a los desarrolladores a leer la jerarquía de clases más rápidamente .

 sudo port -v install ctags 

e instalé la lista de taglist complemento vim a través de https://github.com/vim-scripts/taglist.vim

Desafortunadamente, parece que ctags no puede localizar la clase de mi django cuando intenté “saltar” para ver una clase a través de Ctrl +] .

¿Alguna sugerencia de cómo puedo obtener ctags para leer el código fuente de Python ubicado en mi virtualenv?

Actualizaciones

Con más experimentación, me di cuenta de que ctags es una especie de progtwig de “indexación” que analiza un directorio / archivo / archivo dado y captura todas las palabras clave (nombres de clase, nombres de métodos, nombres de funciones, etc.) que encuentra y escribe en un archivo. . Este archivo se puede actualizar y la lista de taglist plugin vim se lee esencialmente para saber a dónde enviarme cuando hago Ctrl t en un nombre de clase / método / función.

Así que se me ocurrió una solución temporal y manual, que ejecuto en mi vim, como esta:

 :set tags=~/mytags :! ctags -R -o ~/mytags ~/.virtualenvs/myprojectname 

El primer comando le dice a mi vim / taglist dónde se almacenan mis resultados “indexados”.

El segundo comando escribe los resultados indexados en el archivo ~/mytags buscando recursivamente ( -R ) en ~/.virtualenvs/myprojectname

Esto funciona pero es una forma muy manual de mantener las tags y las tags cambian si me encuentro en un entorno virtualenv diferente.

¿Alguien sabe de una forma automatizada para gestionar este proceso de ctags ?

Hay muchos complementos de “generación automática de tags” disponibles.

TagList no lee las tags que haya generado de forma manual / automática: se llama a ctags y lee su salida directamente.

También es posible que desee leer :help autocmmand . Puede configurar comandos automáticos para volver a generar sus tags en escritura como esta:

 autocmd BufWritePost,FileWritePost *.py :silent! !ctags -R -o ~/mytags ~/.virtualenvs/myprojectname