Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 教程 > Linux教程 > 正文

Vim+Cscope打造Linux下的Source Insight

时间:2016-05-30 21:24 来源:网络整理 作者:51ou.com 阅读:

Source Insight是Windows下最方便浏览代码的工具。但是Source Insight是没有Linux版本的。为了方便在Linux下浏览代码并进行学习,可以利用Vim配合Cscope来打造Linux下的Source Insight。

Cscope是Vim适用的工具和插件,通过Cscope可以方便地获知某个函数的定义以及被哪些函数调用。


Cscope安装

可以在https://sourceforge.net/projects/cscope/下载源码包,然后解压,编译安装。

Vim+Cscope打造Linux下的Source Insight

./configure

make

make install


生成Cscope数据库

使用cscope前,必须为代码生成一个cscope数据库。假设当前代码在/usr/src/linux目录下,则运行下列命令。

cd /usr/src/linux

cscope –Rbq

然后会生成3个文件:cscope.in.out,cscope.out,cscope.po.out。

用vim打开代码文件,将刚才生成的cscope文件导入到vim中。

vim init/main.c

:cs add /usr/src/linux/cscope.out /usr/src/linux

也可以将下面语句添加到vim的配置文件.vimrc中。

if fileradable("cscope.out")
cs add csope.out
elseif $CSCOPE_DB  != ""
cs add $CSCOPE_DB
endif


Cscope的功能

Cscope的功能通过它的子命令“find”来实现。

cs find c|d|e|g|f|i|s|t name

s:查找C代码符号
g:查找本定义
d:查找本函数调用的函数
c:查找调用本函数的函数
t:查找本字符串
e:查找本egrep模式
f:查找本文件
i:查找包含本文件的文件

可以在.vimrc中添加下面的快捷键,免得每次都要输入一长串命令。

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>

使用时,将光标停留在要查找的对象上,按下<C-@>g,即先按“Ctrl+@”,然后很快再按“g”,将会查找该对象的定义。


本文永久更新地址:

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Vim+Cscope打造Linux下的Source Insight》技术文章,《Vim+Cscope打造Linux下的Source Insight》详细使用和说明,有时《Vim+Cscope打造Linux下的Source Insight》可能不完善、敬请谅解!如果《Vim+Cscope打造Linux下的Source Insight》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片