生成索引文件:cscope -Rbkq
-R: 在生成索引文件时,搜索子目录树中的代码
-b: 只生成索引文件,不进入cscope的界面
-k: 在生成索引文件时,不搜索/usr/include目录
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
cscope相关命令:
add : 添加一个新的 cscope 数据库/连接。
用法 :cs add {file|dir} [pre-path] [flags]
[pre-path] 用来通知 cscope 使用 -P [pre-path] 选项。
[flags] 可以用来给 cscope 传递额外的选项。
例子
:cscope add /usr/local/cdb/cscope.out
:cscope add /projects/vim/cscope.out /usr/local/vim
:cscope add cscope.out /usr/local/vim -C
find : 查询 cscope。除了第 5 个之外的所有 cscope 查询功能都
可以使用。第 5 个是 "Change this grep pattern"。
用法 :cs find {querytype} {name}
{querytype} 和 cscope 的控制台界面以及 nvi 缺省命令
都是一致的。
0 或 s: 查找 C 符号
1 或 g: 查找定义
2 或 d: 查找本函数调用的函数
3 或 c: 查找调用指定函数的函数
4 或 t: 查找字符串
6 或 e: 查找 egrep 模式
7 或 f: 查找文件
8 或 i: 查找包含指定文件的文件
例如
:cscope find c vim_free
:cscope find 3 vim_free
这两个例子执行同样的查询。
:cscope find 0 DEFAULT_TERM
在 Vim 5.1 的源代码内执行以上的命令得到以下的结果:
Cscope tag: DEFAULT_TERM
# line filename / context / line
1 1009 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"amiga"
2 1013 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"win32"
3 1017 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"pcterm"
4 1021 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"ansi"
5 1025 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"vt52"
6 1029 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"os2ansi"
7 1033 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"ansi"
8 1037 vim-5.1-gtk/src/term.c <<GLOBAL>>
# undef DEFAULT_TERM
9 1038 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"beos-ansi"
10 1042 vim-5.1-gtk/src/term.c <<GLOBAL>>
#define DEFAULT_TERM (char_u *)"mac-ansi"
11 1335 vim-5.1-gtk/src/term.c <<set_termname>>
term = DEFAULT_TERM;
12 1459 vim-5.1-gtk/src/term.c <<set_termname>>
if (STRCMP(term, DEFAULT_TERM))
13 1826 vim-5.1-gtk/src/term.c <<termcapinit>>
term = DEFAULT_TERM;
14 1833 vim-5.1-gtk/src/term.c <<termcapinit>>
term = DEFAULT_TERM;
15 3635 vim-5.1-gtk/src/term.c <<update_tcap>>
p = find_builtin_term(DEFAULT_TERM);
Enter nr of choice (<CR> to abort):
这样的输出显示了几类信息:
1. 标签号码 (例子中有 15 个).
2. 标签所在的行号.
3. 标签所在文件的文件名.
4. 标签的上下文 (如:全局或函数名).
5. 标签所在行的文本.
help : 显示一个简单的帮助。
用法 :cs help
kill : 终止一个 cscope 连接 (或终止所有 cscope 连接).
用法 :cs kill {num|partial_name}
要终止一个连接,需要给出连接号或者部分的连接名称。部分名称可以
是数据库文件路径的任何一部分。所以要当心使用这个功能!
如果给定的连接号是 -1,那么 所 有 的 cscope 连接都会被终止。
reset : 重新初始化所有连接。
用法 :cs reset
show : 显示当前的连接。
用法 :cs show