c++ vim path include

la configuración de ruta para c++ incluye encabezados para vim



path include (2)

Mi vim tiene una configuración de ruta como se muestra a continuación.

path=.,/usr/include,,

Creo que esta es una configuración predeterminada de ''ruta'', supongo.

Debido a esto, g f abre c archivos de encabezado bajo el cursor.

Pero en el archivo C ++, los archivos de encabezado C ++ no se abren porque la ubicación del archivo de encabezado C ++ no se agrega a la variable de path de vim.

set path+=/usr/include/c++/4.6

Creo que este ajuste en vimrc sería una solución. Pero el problema es que la ubicación real del directorio para el archivo de encabezado de C ++ se modificará en cada una de las distribuciones de Linux diferentes y en las versiones del compilador de g ++.

¿Cómo puedo establecer la ruta de los archivos de cabecera de C ++ de manera portátil?


Hay variables de entorno específicas para que el compilador las examine. Si está utilizando gcc / g ++ en un entorno Linux / Unix, entonces las variables son C_INCLUDE_PATH y CPLUS_INCLUDE_PATH . Si está utilizando bash / sh, use export VARIABLE=value o si está usando csh / tcsh, entonces use el setenv VARIABLE value o si está utilizando algún otro intérprete de comandos, entonces deberá buscarlo. En estos ejemplos, VARIABLE es C_INCLUDE_PATH y CPLUS_INCLUDE_PATH . Espero que esto ayude.


Si hay un número limitado de ubicaciones, un simple condicional en ~/.vimrc hará:

if isdirectory(''/usr/include/c++/4.6'') set path+=/usr/include/c++/4.6 elseif isdirectory(...

Si tiene muchos sistemas diferentes y no desea mantener todas las variaciones en un lugar central, puede mover las configuraciones dependientes del sistema a un archivo separado, solo local, e invocarlas desde su ~/.vimrc , Me gusta esto:

" Source system-specific .vimrc first. if filereadable(expand(''~/local/.vimrc'')) source ~/local/.vimrc endif