您好,欢迎访问一九零五行业门户网

cscope ctags(cscope安装)

本文主要介绍cscope ctags(cscope安装),下面一起看看cscope ctags(cscope安装)相关资讯。
1.cscope介绍,cscope是一个类似于ctags的工具,但是可以认为是ctags的加强版,因为它可以做的事情比ctags多。在vim中,通过cscope查询,跳转到指定的地方就像跳转到任意标签一样;她可以保存标签栈,所以通过适当的键盘映射绑定,你可以在函数中向后或向前跳转,就像常用的标签一样。
第一次使用cscope时,他会从源文件生成一个符号库。那么在将来的使用中,cscope将只在源文件被更改或源文件列表不同时才重建数据库。重建数据库时,未更改文件对应的数据库信息将从旧数据库中复制,因此重建的数据库将比刚开始新建的数据库更快。
当您在命令行调用cscope时,您将得到一个全屏幕选择窗口,使您能够查询特定的内容。然而,一旦你找到一个匹配,你将使用你的默认编辑器来编辑源文件,但你可以 不要简单地使用ctrl]或:tag从一个标签跳到另一个标签。
vim中的cscope接口是以命令行的形式调用,然后解析查询返回的结果来完成的。最终的结果是cscope查询结果就像通常的标签一样,可以自由跳转,就像使用通常的标签一样(使用ctrl或者:tag跳转)。
2.cscope相关命令所有cscope命令都将参数选项传递给主cscope命令 : cscope 。她最简短的缩写是 : cs 。 : scope 命令做同样的事情,同时水平分割窗口(缩写为 scs ).
可用的缩写有:
添加:添加新的cscope数据库/链接库。
用法:: csadd { file | dir }[pre-path][flags]其中:[pre-path]是使用-p选项传递给cscope的文件路径,该路径是添加在由相对路径表示的文件之前的路径,因此您可以使用它,而无需切换到您的数据库文件所在的目录。[flags]您要传递给cscope的额外标志示例:: cscope add/root/code/vim test/ftp deco 8-@ . com cscope add/proje。ct/vim/cscope . out/usr/local/vime: cscope添加cscope.out/usr/local/vim–cfind:查询cscope。除了数字5( 修改这个匹配模式 ).
用法:: csfind {querytype} { name }其中:{ query type }是实际cscop——找到这个c符号1或g ——找到这个定义2或d ——找到这个函数调用的函数3或c ——找到调用这个函数的函数4或t ——查找——查找文件8或i ——查找文件#include。示例:(#符号后面跟注释)cscope find c ftpd_send_resp #查找所有调用这个函数的函数(人)。:cscopefind 3 ftpd _ send _ resp #与上述结果相同。:cscopefind 0 ftpd _ check _ log in #搜索符号ftpd _ check _ login的结果如下:cscop: ftpd _ check _ log in # line filename/context/line 119 ftpd . h global # define ftpd _ check _ log in/2 648 ftpd . cftpd _ do _ pwdftpd _ check _ log in;3 661 ftpd . c ftpd _ do _ cwd ftpd _ check _ log in;4 799 ftpd . c ftpd _ do _ list ftpd _ check _ log in;5 856 ftpd . c ftpd _ do _ nlst ftpd _ check _ log in;6 931 ftpd . c ftpd _ do _ syst ftpd _ check _ log in;7 943 ftpd . c ftpd _ do _ size ftpd _ check _ log in;8 960 ftpd . c ftpd _ do _ dele ftpd _ check _ log in;9 981 ftpd . c ftpd _ do _ pasv ftpd _ check _ log in;输入选择的nr(cr到abort):),然后输入前面的序列号。帮助:显示简短摘要。
用法::cs help kill:杀死一个cscope链接(或杀死所有cscope链接)。
用法:: cskill { num | partial _ name }为了终止cscope链接,必须指定链接号或部分名称。部分名称可以只是cscope数据库文件路径的一部分。要特别小心使用部分路径来终止cscope链接。如果指定的链接号为-1,所有cscope链接都将被终止。重置:重新初始化所有cscop:cs reset show:显示cscope的链接。
如何使用::cshow如果您在使用cscope的同时使用ctags,| :stag |允许您指定在跳转之前从其中一个搜索。例如,您可以选择首先从cscope数据库中查找您的标记文件(由ctags生成)。上述执行的顺序取决于|csto|的值。
| :stag |从cscop:cs找g 。
| :stag |当从您的tags文件中查找标识符时,它相当于|:tjump|。
3.cscop:set|命令设置cscope的所有选项。理想情况下,您可以在启动文件(例如。vimrc)。某些与cscope相关的变量仅在|中合法。vimrc|。在vim启动后设置它们是没有用的!
cscpoeprg 指定执行cscope的命令。
默认值是 cscope 。
例如:: set csprg =/usr/local/bin/cscope ;cscope快速修复 指定是否使用快速修复窗口来显示cscope的结果。这是一组以逗号分隔的值。每个项目都包含在|csope-find|命令(s、g、d、c、t、e、f或i)和标志(、-或0)中。
指示显示结果必须附加到quickfix窗口。
- ;意味着清除以前的显示结果。;0 或者不设置它意味着不使用quickfix窗口。搜索将从头开始,直到第一个命令出现。默认值是 (不使用快速修复窗口)。以下价值观似乎很有用: 硫、碳、硫、碘、硫、硫和硫。
如果 cscopetag 被设置,那么诸如 : tag ;和ctrl]和 vim-t ;将始终使用| :tag |而不是默认的: tag行为。通过设置 cst ,您将总是查找cscope数据库和标记文件。默认为关闭,例如:
: set cst : set nocst &; csto &;
的价值。;集体安全条约组织 确定| :stag |执行查找的顺序。如果 集体安全条约组织 设置为0,将首先搜索cscope数据,如果cscope没有返回匹配项,则将搜索标记文件。否则,搜索顺序相反。默认值为0,例如:
: set csto = 0 e: set csto = 1 if ;cscopeverbose 未设置(这是默认值),则在添加cscope数据库时,不会显示指示执行成功或失败的信息。理想情况下,您应该在|中重置该选项。vimrc|在添加cscope数据库之前,并在添加之后设置它。之后,当您在vim中添加更多数据库时,您将获得(希望是有用的)显示数据库添加失败的信息。例如:
:集csverb:集nocsverb cspc 确定显示文件路径的多少部分。默认值为0,因此将显示整个路径。如果该值为1,则只显示文件名,不显示路径。其他值将显示不同的部分。例如:
:set cspc=3将显示文件路径的后三部分,包括文件名本身。
4.如何在vim中使用cscope您需要做的第一步是为您的源文件构建一个cscope数据库。在大多数情况下,您可以简单地使用 cscope-b 。
假设您已经有了一个cscope数据库,您需要 添加 这个数据库到维姆。这将建立一个cscope 链接 并将其提供给vim。你可以在你的。vimrc文件或在vim启动后手动执行。例如,为了增加数据库 cscop:cs添加cscope.out您可以通过执行 : cs show 。这将产生以下输出:
# pid数据库名称前置路径0 11453 cscope。outnone提示:
由于微软的rtl限制,win32版本将显示0而不是真正的pid。
一旦建立了cscope链接,您就可以查询cscope,结果将反馈给您。通过命令搜索 : cs find 。例如:
: csfind gftpd _ check _ log in上述命令的执行可能会变得有点繁琐,因为它需要相当多的输入。如果有多个匹配项,您将会看到一个选择屏幕来选择您想要匹配的项。跳转到新位置后,只需按ctrl+t即可返回到上一个位置。
标签:
数据库文件
了解更多cscope ctags(cscope安装)相关内容请关注本站点。
其它类似信息

推荐信息