ctags/cscope 迁往 gtags
pip install pygments
sudo apt install libncurses5-dev libncursesw5-dev
wget http://tamacom.com/global/global-6.6.5.tar.gz
tar -xzf global-6.6.5.tar.gz
cd global-6.6.5/
./configure && make && sudo make install
cp gtags.vim ~/.vim/
" gtags
source ~/.vim/gtags.vim
let $GTAGSLABEL = 'native-pygments'
let $GTAGSCONF = '/usr/local/share/gtags/gtags.conf'
set cscopetag " 使用 cscope 作为 tags 命令
set cscopeprg='gtags-cscope' " 使用 gtags-cscope 代替 cscope
nmap <C-_>o :copen<CR>
nmap <C-_>c :cclose<CR>
nmap <C-_>n :cn<CR>
nmap <C-_>p :cp<CR>
function! LoadDatabase()
let db = findfile("GTAGS", ".;")
if (!empty(db))
set nocscopeverbose
exe "cs add " . db
set cscopeverbose
endif
endfunction
autocmd BufEnter *.[ch] call LoadDatabase()
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
# ctags 的使用仍然可行
:ts <symbol>
# cscope 的使用方式不变