cscope + tags 简单设置

本文介绍了如何安装cscope,生成代码索引文件,并进行环境变量配置,以便于Linux开发者快速查看和导航代码。同时,也讲解了ctags的设置与使用方法,结合快捷键操作,提升代码搜索和跳转效率。

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

0 preview

cscope + tags 可以帮助 linux 开发者简单地看代码,提高效率,这里记录一下我的学习过程。

1 安装cscope

yum install cscope
yum install ctags
安装包 make 

2 生成索引文件

在你的代码根目录 /data/mycodepkg 下面输入

[root@100 /data/mycodepkg]# cscope -Rbqk

-R: 在生成索引文件时,搜索子目录树中的代码
-b: 只生成索引文件,不进入cscope的界面
-k: 在生成索引文件时,不搜索/usr/include目录
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度


3 配置

    3.1把生成的索引添加进环境变量

[root@100 /data/mycodepkg]# vim ~/.bashrc

CSCOPE_DB=/data/scrubber/cscope.out

export CSCOPE_DB

    3.2 生效环境变量

[root@100 /data/mycodepkg]# source ~/.bashrc

        这样就可以把你生成的cscope文件添加到环境变量中,vim可以识别到cscope数据库。

4 验证使用

    4.1 

打开代码 对关键字/函数使用 ctrl + ] 发现会跳转/选项,按下数字键进入指定文件。

    4.2 操作

退出进入文件(栈)命令:                                 ctrl + t 

进入下一个标签(当前进入1 若想进入2) :        :tnext

第一个(进入1) :                                             :tprevious

第最后一个(进入-1) :                                    :tlast

5 ctags使用

    下面来说明cscope + ctags使用方法和设置

    5.1 设置数据库

        在代码根目录设置 #cscope -Rbqk;  ctags -R;

    5.2 设置路径添加到vim中

        利用脚本可以自动识别以后生成的每一个cscope数据库;后半部分程序是设置快捷键。

        # vim ~/.vimrc        

if has("cscope")
    set csprg=/usr/local/bin/cscope                         #你的cscope程序路径
    set csto=0
    set cst 
    set nocsverb                                            #不在shell提示添加成功echo
    if filereadable("cscope.out")
        cs add cscope.out
    else
        let cscope_file=findfile("cscope.out",".;")
        let cscope_pre=matchstr(cscope_file,".*/")
        if !empty(cscope_file)&&filereadable(cscope_file)
            exe "cs add" cscope_file  cscope_pre
        endif
    endif
endif

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("<cword>")<CR><CR>
nmap <C-\>i :cs find i <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>

        5.3 使用ctags搜索: 光标移动到某一个key上,然后按 ctrl+ ],可进入相应的定义中。

            使用cscope搜索:光标移动到某一个key上,然后按 ctrl + \ ,然后再按 c  可查找出现过的关键字。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值