Уже не помню, как я перешел с ctags на cscope, но он реально крайне удобен и всеяден. Небольшой скриптик для автоматического построения/обновления тагов начиная с текущей директории. Работает на редкость шустро.
function! UpdateCscopeDb()
let extensions = [""*.cpp"", ""*.h"", ""*.hpp"", ""*.inl"", ""*.c"", ""*.java""]
let update_file_list = "find . -name " . join(extensions, " -o -name ") . " > ./cscope.files"
echo update_file_list
echo system(update_file_list)
echo system("cscope -b")
cscope kill 0
cscope add .
endfunction
nmap <F12> :call UpdateCscopeDb()<cr>
vmap <F12> <esc>:call UpdateCscopeDb()<cr>
imap <F12> <esc>:call UpdateCscopeDb()<cr>
let extensions = [""*.cpp"", ""*.h"", ""*.hpp"", ""*.inl"", ""*.c"", ""*.java""]
let update_file_list = "find . -name " . join(extensions, " -o -name ") . " > ./cscope.files"
echo update_file_list
echo system(update_file_list)
echo system("cscope -b")
cscope kill 0
cscope add .
endfunction
nmap <F12> :call UpdateCscopeDb()<cr>
vmap <F12> <esc>:call UpdateCscopeDb()<cr>
imap <F12> <esc>:call UpdateCscopeDb()<cr>
Была еще класная тема под названием kscope,GUI надстройка над csope. http://sourceforge.net/projects/kscope/
Почему была? Судя по всему, вполне себе живой проект.