vim+cscope+ctags浏览源码

Posted on 2007-12-10 19:16 T.S Liu 阅读(2086) 评论(1)  编辑 收藏 引用 所属分类: vim/gvim
 一、用vi+cscope编辑文件

1. cscope 用于生成索引文件的选项:
-R: 在生成索引文件时,搜索子目录树中的代码
-b: 只生成索引文件,不进入cscope的界面
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
-k: 在生成索引文件时,不搜索/usr/include目录
-i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用“-”,表示由标准输入获得文件列表
-I dir: 在-I选项指出的目录中查找头文件
-u: 扫描所有文件,重新生成交叉索引文件
-C: 在搜索时忽略大小写
-P path: 在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了
如果你的源码中只含有.c,.h文件,你可以直接使用 cscope -Rbq
一般使用方法:find ./ -name "*.c" -or -name "*.h" -or -name "*.cpp" -or -name "*.S" | cscope -Rbq
2. 接着你就可以使用vim来打开一个文件来浏览编辑代码了。使用cs(cscope写)命令来实现函数的调用,
定义查找:
f: 查找并打开文件,类似vim的find功能
s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
d: 查找本函数调用的函数
c: 查找调用本函数的函数
t: 查找指定的字符串
e: 查找egrep模式,相当于egrep功能,但查找速度快多了
i: 查找包含本文件的文

一般使用方式为cs f t var_name
二、用vim + ctags阅读源代码
首先我们必需给要阅读的源代码建一个或者多个tags文件,在shell下利用ctags命令给单个文件建立tags如下:
     ctags  filename.c
要给同一个目录下的所有文件建立tags如下:
     ctags -R
这时在tags文件所在的目录下打开源文件阅读,vim就会自动调用tags文件。
如果tags文件不在当前目录下,可以在命令模式下用下面的命令设置tag文件
     :set tag=tag_file_path

要在vim下跳到一个函数的定义处可以在命令模式下用下面的命令:
     :tag fuction_name
这个命令将把你带到fuction_name函数的定义处。
另外,ctrl + ]命令会把当前光标下的单词作为tag的名字,并直接跳转
用ctrl + t命令可以回到前一个tag,你可以在ctrl + t前面加一个数字
表示往回跳的层数。
使用Ctrl + g可以显示当前正在编辑的文件名,及所在的行号
另外,如果源文件的排版比较乱的话,可以通过命令gg=G来格式化整个源文件
下面这几个设置可以帮助你更好的设置代码缩进
      :set cindent
      :set shiftwidth=4
      :set tabstop=4
 Linux联盟收集整理 ,转贴请标明原始链接Linux联盟

Feedback

# re: vim+cscope+ctags浏览源码  回复  更多评论   

2011-12-03 21:31 by x007007007
图个方便,

windows 下的cscope和ctags打包

http://cn.ziddu.com/download/631338/cscope_ctags_for_win32.rar.html

大家试试

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理