您的位置:首页 > 运维架构

VI+Cscope+Ctags快速上手

2012-02-07 00:22 218 查看
在ubuntu下,直接sudo apt-get install cscope ctags。安装搞定。

一、cscope使用:

1.在vi中用:

这个组合,用来看代码,代码索引目录自然少不了。使用cscope建立文件索引。

cscope -Rbkq

这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。四个参数含义如下:

-R: 在生成索引文件时,搜索子目录树中的代码

-b: 只生成索引文件,不进入cscope的界面

-k: 在生成索引文件时,不搜索/usr/include目录

-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度

注意:请在你工程的根目录下执行这个指令。在你有写权限的情况下,这些文件会在当前目录生成。

生成目录之后,在vi 中加载目录:

:cs add cscope.out

就是在命令模式下,执行添加目录的操作,在打开的源文件中添加吧,直接就可以开始简单的搜索动作了:

:cs find x XXX

第一个小写的x,有如下的取值:

0 or s: Find this C symbol

1 or g: Find this definition

2 or d: Find functions called by this function

3 or c: Find functions calling this function

4 or t: Find this text string

6 or e: Find this egrep pattern

7 or f: Find this file

8 or i: Find files #including this file

第二个大写的X,就是要找的东西了。搜索到后,根据提示,选择想要跳转的地方即可。

使用cs help 可以查看命令选项,很简洁。

2.直接使用cscope也可以,进入工程目录,如1中创建索引,直接执行cscope,然后出现一个很有友善的命令行界面~~!可以快速跳转到自己想要看的地方。

二、ctags使用:

不明白为什么三者要结合在一起,感觉ctags的功能更强一些。首先在工程目录下创建索引:

ctags -R

执行以后,生成一个tags文件,使用vim -t fun_name ... 直接就可以打开相应文件,并跳转到函数处,如果有多处,会跳转到第一处,这个第一处是ctags排序的。



在vim编辑器内用":ta"命令,例如:

:ta foo_bar

最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。

注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。



在函数中移动光标

[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方

这些暂时够用了,日后在看看其他的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: