Ubuntu vim ctags/cscope 迁往 gtags

博客主要介绍了从 ctags/cscope 迁往 gtags 的相关内容,包括源码安装、.vimrc 配置和使用方法,还提及了 Vim 8 中 C/C++ 符号索引的 GTags 篇以及使用 GNU GLOBAL 索引代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/
  • .vimrc
" 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 的使用方式不变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值