vim 插件cscope 使用
发布日期:2021-06-30 18:53:16 浏览次数:2 分类:技术文章

本文共 2197 字,大约阅读时间需要 7 分钟。

1.安装 sudo apt-get install cscope

2.初始化 cscope -Rbq 你想在哪个目录下面用这个功能,就在哪个目录下面运行这个命令

3.vim kpd.c

4.输入 :cs add cscope.out 先初始化一下 

然后想看一下帮助 :cs -b

或者查找某个字符串 :cs find t weiqifa

add :增加一个新的cscope数据库/链接库

1
2
3
4
5
6
7
8
9
10
11
使用方法:
:cs add {
file
|
dir
} [pre
-
path] [flags]
 
其中:
[pre
-
path] 就是以
-
p选项传递给cscope的文件路径,是以相对路径表示的文件前加上的path,这样你不要切换到你数据库文件所在的目录也可以使用它了。
[flags] 你想传递给cscope的额外旗标
  
实例:
:cscope add 
/
root
/
code
/
vimtest
/
ftpd
:cscope add 
/
project
/
vim
/
cscope.out 
/
usr
/
local
/
vim
:cscope add cscope.out 
/
usr
/
local
/
vim –C

find :查询cscope。所有的cscope查询选项都可用除了数字5(“修改这个匹配模式”)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
使用方法:
: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   —— 查找
#include这个文件的文件(们)
 
实例:(
#号后为注释)
cscope 
find 
c ftpd_send_resp                     
# 查找所有调用这个函数的函数(们)
:cscope 
find 
3 ftpd_send_resp                     
# 和上面结果一样
:cscope 
find 
0 FTPD_CHECK_LOGIN       
# 查找FTPD_CHECK_LOGIN这个符号
 
执行结果如下:
Cscope tag: FTPD_CHECK_LOGIN                   
#   line  filename / context / line
   
1     19  ftpd.h <<GLOBAL>>
             
#define FTPD_CHECK_LOGIN() /
   
2    648  ftpd.c <<ftpd_do_pwd>>
             
FTPD_CHECK_LOGIN();
   
3    661  ftpd.c <<ftpd_do_cwd>>
             
FTPD_CHECK_LOGIN();
   
4    799  ftpd.c <<ftpd_do_list>>
             
FTPD_CHECK_LOGIN();
   
5    856  ftpd.c <<ftpd_do_nlst>>
             
FTPD_CHECK_LOGIN();
   
6    931  ftpd.c <<ftpd_do_syst>>
             
FTPD_CHECK_LOGIN();
   
7    943  ftpd.c <<ftpd_do_size>>
             
FTPD_CHECK_LOGIN();
   
8    960  ftpd.c <<ftpd_do_dele>>
             
FTPD_CHECK_LOGIN();
   
9    981  ftpd.c <<ftpd_do_pasv>>
             
FTPD_CHECK_LOGIN();
Enter nr of choice (<CR> to abort):
然后输入最前面的序列号即可。

 help :显示一个简短的摘要。

1
2
 
使用方法:
:cs help

  kill  :杀掉一个cscope链接(或者杀掉所有的cscope链接)

1
2
3
4
使用方法:
:cs 
kill 
{num|partial_name}
为了杀掉一个cscope链接,那么链接数字或者一个部分名称必须被指定。部分名称可以简单的是cscope数据库文件路径的一部分。要特别小心使用部分路径杀死一个cscope链接。
假如指定的链接数字为-1,那么所有的cscope链接都会被杀掉。

reset:重新初始化所有的cscope链接。

1
2
使用方法:
:cs reset

 show:显示cscope的链接

1
2
 
使用方法:
 
:cs show

假如你在使用cscope的同时也使用ctags,|:cstag|可以允许你在跳转之前指定从一个或另一个中查找。例如,你可以选择首先从cscope数据库中查找,然后再查找你的tags文件(由ctags生成)。上述执行的顺序取决于|csto|的值。

       |:cstag|当从cscope数据库中查找标识符时等同于“:cs find g”。

       |:cstag|当从你的tags文件中查找标识符时等同于“|:tjump|”。

转载地址:https://linus.blog.csdn.net/article/details/48683255 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:vim 函数列表插件
下一篇:ubuntu 14.04中文显示乱码问题

发表评论

最新留言

不错!
[***.144.177.141]2024年04月23日 16时41分39秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

IEEE与APA引用格式 2019-04-30
research gap 2019-04-30
pytorch训练cifar10数据集查看各个种类图片的准确率 2019-04-30
Python鼠标点击图片,获取点击点的像素坐标 2019-04-30
路径规划(一) —— 环境描述(Grid Map & Feature Map) & 全局路径规划(最优路径规划(Dijkstra&A*star) & 概率路径规划(PRM&RRT)) 2019-04-30
神经网络调参实战(四)—— 加深网络层次 & 批归一化 batch normalization 2019-04-30
数据挖掘与数据分析(三)—— 探索性数据分析EDA(多因子与复合分析) & 可视化(1)—— 假设检验(μ&卡方检验&方差检验(F检验))&相关系数(皮尔逊&斯皮尔曼) 2019-04-30
RRT算法(快速拓展随机树)的Python实现 2019-04-30
路径规划(二) —— 轨迹优化(样条法) & 局部规划(人工势能场法) & 智能路径规划(生物启发(蚁群&RVO) & 强化学习) 2019-04-30
D*算法 2019-04-30
强化学习(四) —— Actor-Critic演员评论家 & code 2019-04-30
RESTful API 2019-04-30
优化算法(四)——粒子群优化算法(PSO) 2019-04-30
数据挖掘与数据分析(三)—— 探索性数据分析EDA(多因子与复合分析) & 可视化(2)——回归分析(最小二乘法&决定系数&残差不相关)&主成分分析&奇异值分解 2019-04-30
数据在Oracle中的存储 2019-04-30
优化算法(五)—人工蜂群算法Artificial Bee Colony Algorithm(ABC) 2019-04-30
轨迹规划 trajectory planning 2019-04-30
AGV自动导引运输车 2019-04-30
Trie树(字典树) 2019-04-30
COMP7404 Machine Learing——Logistic Regression 2019-04-30