当前位置:编程学习 > C/C++ >>

Vim+Ctags+Cscope打造linux下的source insight

最近在linux下写代码,总是要查看定义和调用关系,每次都切换到windows下用source insight实在不方便,于是试水ctags+cscope。
我只希望快速查看变量、结构的定义和函数调用关系,所以用的也简单,省略概念介绍,直接上有用的:
遵照GNU标准,
[cpp]  
./configure  
make  
make install  
三步简化 完成安装
ctags和cscope的使用分两步:
1.生成ctags和cscope数据库文件
2.使用命令进行查找和索引等功能
生成ctags数据库文件:
[cpp]  
ctags -R  
这时,在执行命令的当前目录,产生一个ctags文件,vim打开,查看内容就会明白ctags的原理
生成cscope数据库文件:
[cpp]  
cscope -Rbq  
在当前目录产生三个文件,cscope.in.out  cscope.out  cscope.po.out
接着需要使用他们的功能进行查找与索引
对于ctags只需记住四个快捷键足够:
:tags {ID}跳转到标签ID处
:tags显示标签栈
CTRL-]跳转到当前光标下的标签处(相当于SI中的CTRL+=)
CTRL-T跳转到标签栈中较早的标签处(相当于SI中的ALT+<)
对于cscope我也只需记住两个命令:
c: 查找调用本函数的函数
d: 查找本函数调用的函数
为使用方便,将cscope的命令在vimrc中添加如下代码:
[cpp]  
nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>  
nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>  
使用时,按CTRL+\作为进入命令模式的前缀符,按c则查看调用本函数的函数,按d则查看本函数调用的函数。
 
另外,笔者是个很懒的人,一下也不愿意多敲
在bashrc中,添加命令别名,以及实现方法:
[cpp] 
alias haha='ctags_cscope_func'  
  
ctags_cscope_func() {  
    ctags -R  
    cscope -Rbq  
}  
之后source ~/.bashrc
便可通过只输入一次命令haha,完成索引数据库文件的生成了
 
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,