UBUNTU 中VIM+CSCOPE+CTAGS 安装配置及简单使用

上传人:lis****211 文档编号:184021571 上传时间:2023-02-01 格式:DOCX 页数:5 大小:14.71KB
返回 下载 相关 举报
UBUNTU 中VIM+CSCOPE+CTAGS 安装配置及简单使用_第1页
第1页 / 共5页
UBUNTU 中VIM+CSCOPE+CTAGS 安装配置及简单使用_第2页
第2页 / 共5页
UBUNTU 中VIM+CSCOPE+CTAGS 安装配置及简单使用_第3页
第3页 / 共5页
点击查看更多>>
资源描述
目录解压源代码,安装ctags, cscope各个软件的版本Vim的简单配置在cscope界面中查询:Vim中调用cscope进行查询(地行模式以及快捷键模式),通过ctags实现查询(底行模式及快捷键)。解压源代码,安装ctags,cscope透过命令:sudo apt-get install ctags cscope这个命令安装这两个工具软件。各个软件的版本Ubuntu9.04环境下,vim 版本7.2.79Vim的简单配置cscope在sourceforge的主页中有vim中使用cscope的方法,同时给出了 一个vim 的配置文件在cscope界面中查询:在解压的内核源代码根目录中进行:ctags -R生成tags文件,在执行cscope -R,生成cscope.out数据库文件并进入 cscope 界面。在menu处也就是提示按什么方式查询的地方按下问号(?)给出提示已经生成了 tags和cscope.out文件后,不想再cscope界面中查询,而是直接在 vim中调用cscope.out和ctags文件也可以,但是必须保证vim打开的文件同一 个目录中有ctags和cscope.out文件。Ctags和cscope使用方法如下:VIM使用cscope查找1,加载cscope.out文件在VIM中使用cscope非常简单,首先调用“cscope add命令添加一个cscope 数据库,然后就可以调用“cscope find”命令进行查找了。VIM支持8种cscope 的查询功能,如下:例如,我们想在代码中查找调用work()函数的函数,我们可 以输入::cs find c work ”,回车后发现没有找到匹配的功能,可能并没有函数 调用work()。我们再输入“:cs find s work”,查找这个符号出现的位置,现在vim 列出了这个符号出现的所有位置。我们还可以进行字符串查找,它会双引号或单 引号括起来的内容中查找。还可以输入一个正则表达式,这类似于egrep程序的 功能。在源代码目录下打开vim。要使用cscope查找就必须加载cscope.out文件.在 vim命令行下执行::cs add cscope.out在vim命令行下执行::cs helpcscope commands:add : Add a new database(Usage: add file|dir pre-pathflags)find : Query for a pattern(Usage: find c|d|e|f|g|i|s|t name)c: Find functions calling this functiond: Find functions called by this functione: Find this egrep patternf: Find this fileg: Find this definition(Usage: help)(Usage: kill #)(Usage: reset)(Usage: show)i: Find files #including this file s: Find this C symbol t: Find assignments to help : Show this message kill : Kill a connection reset: Reinit all connections show : Show connections s:查找C语言符号,即查找函数名、宏、枚举值等出现的地方g:查找函数、宏、枚举等定义的位置,类似ctags所提供的功能d:查找本函数调用的函数c:查找调用本函数的函数t:查找指定的字符串e:查找egrep模式,相当于egrep功能,但查找速度快多了f:查找并打开文件,类似vim的find功能i:查找包含本文件的文当然在底行模式下介键入help会弹出vim的帮助。2,使用cscope查找do_fork函数的定义:在vim命令行下执行::cs f g do_fork就可以查看do_fork的全局定义了。cscope常用快捷键:先按ctrl+然后再按以下键:1. c:查找该函数被调用的位置2. d:查找该函数调用了哪些函数3. e:查找指定的正规表达式f:查找指定的文件4. g:查找指定标识符的定义位置5. i:查找该文件在哪些地方被包含6. s:查找指定标识符的使用位置7. t:查找指定的文本字符串在VIM中使用tags查找1)跳转到指定的函数进入vim后,用“:tag func_name“跳到函数func_name 处。使用tag命令时,可以使用TAB键进行匹配查找,继续按TAB键向下切换。 某个函数有多个定义时:tag跳到第一个定义处,优先跳转到当前文件:tnext跳到第一个:tfirst跳到前count个:counttpreviouss跳到后count个:counttnext跳到最后一个:tlast你也可以在所有tagname中选择::tselect tagname关于tags的其它用法可以在vim中执行”:help tags命令进行查询。在安装了 cscope和ctags的情况下,以下命令特别好使,他们现在cscope.out数据库中查找,若没有则在ctags中查找ctrl+:在函数调用的地方跳转到函数定义的地方ctrl+t:返回上一个查找的地方首先在目录下建立cscope索引文件find -name *.c cscope.filecscope -Rbkq这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。其中cscope.out是基本的符号索引,后两个文件是使用-q选项生成的,可以加 快cscope的索引速度。上面所用到的命令参数,含义如下:-R:在生成索引文件时,搜索子目录树中的代码-b:只生成索引文件,不进入cscope的界面-k:在生成索引文件时,不搜索/usr/include目录-q:生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度如果只希望Cscope关联起所有的.c文件,那么可以直接到工程的根目录下, 输入:$ cscope -Rbq-R表示递归地把所有子文件夹中的source file也关联进来-b表示只建立数据库文件cscope.out,不进入Cscope的GUI界面-q 会建立两个额外的inverted index file: cscope.in.out 和 cscope.po.out,以加快查找的速度如果不希望把/usr/include中被工程文件包含的.h文件关联进来,就加-k如果要关联其他类型的文件(如.cpp、.java等),就需要我们自己先生成一个 cscope.files,把所有我们希望关联进去的文件都列在里面:$ find /home/edelweiss/nbd/nbd-2.9.15/ -name *.c -o -name *.cpp -o -name *.h /home/edelweiss/cscope.files注意查找的路径一定要写成绝对路径,这样才能保证写入到cscope.files文件中 的也是绝对路径。之后就可以根据cscope.files建立数据库了:$ cscope -bq -i /home/edelweiss/cscope.filesctag和cscope的使用都要在当前目录下,即你要查找的代码目录下。ctag使用:命令:ctags R生成tags文件Cscope 使用:命令:find -name *.c -o -name *.h -o -name*.cppcscope.filecscope -Rbkq在源代码文件中:vim命令进入后执行:cs add cscope.out只能在当前目录下使用vim命令时实现函数跳转(有cscope.out 的 目录)Vim命令打开的文件,显示的时候分屏命令: 水平分屏命令为(:sp文件路径和文件名) 垂直分屏命令为(:vs文件路径和文件名)
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!