VIM - Etiquetas de abastecimiento desde múltiples ubicaciones en el proyecto

Buen día,

Normalmente trabajo en proyectos relativamente pequeños (menos de 20,000 líneas de código) que son todos autónomos dentro de un solo directorio, tienen su propio Makefile y son bastante fáciles de trabajar.

VIM es mi editor preferido, y cuando abro un proyecto, normalmente construyo la lista de ctags a través de una asignación a laF10 llave:

map <F10> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

Esto me permite saltar a la definición de una variable / struct / etc moviendo el cursor sobre el texto y pulsandoCTRL+], así como el uso de código completado con una lista desplegable a través de OmniCppComplete.

Sin embargo, ahora estoy trabajando en un proyecto un poco más grande que utiliza LOTES de estructuras. Además, muchas de estas estructuras tienen matrices de otras estructuras personalizadas como miembros, por lo que la finalización del código es una herramienta muy útil e importante para mí en este momento.

Tengo dos caminos que incluyen muchos..C archivos y.h archivos, y pueden cambiar de una máquina a otra. En cada máquina, sin embargo, tenemos una variable de entorno en nuestra.bashrc Archivo que los apunta como tal:

SDK_SRC_PLUS_HEADERS=/public/sdk
THIRD_PARTY_SDK=/private/sdk

Me gustaría poder hacer que VIM se refiera automáticamente al contenido de estas rutas adicionales cuando intento completar el código (a través de la función OmniCppComplete incorporada de VIM), o saltar a los archivos en estas ubicaciones cuando usoCTRL+] en VIM para saltar a la definición de una estructura, función, variable, etc.

Por lo tanto, para los dos caminos anteriores, yocd en ellos, y generar las etiquetas a través dectags -R. Entonces, modifiqué mi~/.vimrc archivo para incluir rutas de etiquetas adicionales, como así:

tags=./tags
tags+=$SDK_SRC_PLUS_HEADERS/tags
tags+=$THIRD_PARTY_SDK/tags

entonces yocd en mi proyecto en/home/user1/projects/test, inicia VIM, y pulsaF10 en VIM para indexarlo. Sin embargo, esto no funciona en absoluto. De hecho, rompe mi capacidad de usar etiquetas solo para el proyecto en sí (es decir:CTRL+] ahora no hace nada).

¿Alguien tiene alguna sugerencia sobre cómo podría tener etiquetas de origen de finalización de código y saltar a definiciones utilizando varios directorios de origen a través de variables de entorno?

¡Gracias a todos por adelantado por su tiempo y ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta