A navegação de código no Vim é ótima com o Cscope . O Cscope usa um banco de dados de arquivos (geralmente denominado cscope.out ) com uma lista de símbolos extraídos de seu código, mas ele precisa atualizá-lo para refletir as mudanças no código.
Para reconstruir um banco de dados Cscope para uso no Vim, tenha um script como o seguinte no diretório do projeto:
#!/bin/bash
# Usage: just source it
# You can specify a different directory, default is `pwd`.
# Only be sure to specify an absolute path.
codeDir=${1:-$PWD}
# Go to the root directory, to create the database with absolute names
cd /
# Add lines like "-o -name '*.your_extension'" if needed
find $codeDir -name '*.cc'
-o -name '*.h'
-o -name '*.c' > $codeDir/cscope.files
# Build cross-references in the project's directories
cd $codeDir && cscope -b -q
export CSCOPE_DB=$codeDir/cscope.out
# Also use ctags
ctags -R .
No Vim, basta fazer:
:cs add /absolute/path/to/cscope.out
De vez em quando, crie o script no shell e, em seguida, no Vim:
:cs reset
Claro, você pode ter um cron job atualizá-lo para você. Ainda assim, eu tenho que descobrir como automatizar o cs reset
dentro do Vim: /
Crédito: esta é apenas uma elaboração do tutorial do Vim / Cscope