首先安装cscope [root@cutbag sys]#tar jxvf cscope-15.7a.tar.bz2[root@cutbag sys]#cd cscope-15.7a[root@cutbag.../configure --enable-cscope --prefix=/usr[root@cutbag sys]#make&&make install 然后安装ctags [root@cutbag...-name "*.c" -o -name "*.h" -o -name "*.cpp" > cscope.filescscope -Rbkq -i cscope.filesctags -R Written
/cscope.filescscope -Rbkq即可。...If it wasn't, time to recompile vim... if has("cscope") """"""""""""" Standard cscope/vim boilerplate..." use both cscope and ctag for 'ctrl-]', ':ta', and 'vim -t' set cscopetag " check cscope for...("cscope.out") cs add cscope.out " else add the database pointed to by environment variable...elseif $CSCOPE_DB !
modules_prepare - Set up for building external modules tags/TAGS - Generate tags file for editors cscope...- Generate cscope index gtags - Generate GNU GLOBAL index kernelrelease - Output.../README file [root@btg ext4]# [root@btg ext4]# make tags cscope GEN tags GEN cscope...[root@btg ext4]# 我自己生成的cscope和tags打开的内容 Cscope tag: start_kernel # 行 文件名 / 上下文 / 行 1
首先我们需要先按照cscope工具,苹果OSX系统使用brew install cscope安装,ubuntu系统使用apt get install scope,centos系统使用yum install...cscope。...接着我们进入到c++工程目录,执行cscope -b -c -R, 这时候cscope会去解析符号以及他们之前的联系,会生成一个cscope.out代码符号文件。.../cscope.out加载工程项目符号索引数据库。...但是注意有几个事情cscope不能实现。 cscope生成的cscope.out数据库是包含当前目录的所有符号,他不能限定查找范围为某个子目录,这个像vscode之类的IDE是有这个功能。
/*cscope从cscop.files读入文件然后建立链接*/ cscope -bkq -i cscope.files ctags -R 这个脚本执行完会在当前文件夹生成几个cscope...."" " cscope 自动加载cscope.out文件 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" if has("cscope...cscope.out elsewhere else let cscope_file=findfile("cscope.out",".;") let cscope_pre...") cs add cscope.out "else search cscope.out elsewhere else let cscope_file...=findfile("cscope.out",".;") let cscope_pre=matchstr(cscope_file,".*/") if !
Ctrl + + 为增大字体 2.4 cscope 2.4.1 cscope安装配置 先看下ctags和cscope的区别: ctags can be used to take you to the definition...安装方式如下: sudo apt-get install cscope 验证是否安装成功的方式可以输入 cscope --version ?...表示安装成功 2.4.2 cscope使用 第1步:使用 cscope 生成数据库文件 cscope -Rbkq 其中参数的含义: -R 递归,对子目录也建立数据库 -b 只生成数据库,不进入 scope...界面 -k 生成数据库时,不搜索 /usr/include 目录 -q 生成 cscope.in.out 和 cscope.po.out 文件,加快查找速度 ?.../cscope.out 第3步: 通用格式为 :cs find -option label option 可以有很多种模式,在 Vim 中使用 :help cscope-find 来查看 option:
知道了一个网站 http://kernelnewbies.org,一些FAQ , 摘录如下 (1) Code Browsing a) cscope,tags 原来内核中有生成 cscope和tags...的脚本 make cscope make tags 给make加上V=1,可以看到哪些命令被执行。...$ make cscope V=1 /bin/bash linux-2.6.32.63/scripts/tags.sh cscope ..... + cscope -b -f cscope.out
对于语言支持,目前选用的是 ctags 和 cscope 卧龙凤雏两兄弟。尽管年代久远,但实际效果还是不错的,许多商业工具实际上也是在此基础上进行优化。...- 查找代码定义,符号; ripgrep - Rust 实现的 grep 搜索; fzf - 模糊搜索; 构建索引 通常使用 ctags 和 cscope 构建索引的过程如下: cd src ctags...-name "*.c" -o -name "*.cpp" -o -name "*.h" > cscope.files cscope -b -q -k 不过这会在源码目录生成 .tags 和 cscope.out...由于数据库保存到非标准的位置,那么就需要在 VIM Script 中指定对应的 cscope 和 ctags 路径,顺便也就定义一些快捷键了。 这么一来二去,也就有了这个项目:audit.vim。...同时 open 会以 READ-ONLY 模式打开 VIM 并设置好对应的 ctags 和 cscope 路径。目前为了防止审计超大型代码时候引入过多的无效文件,使用的是文件后缀白名单模式。
对于vim+Taglist+cscope+ctags组合编辑器的创建,vim , cscope , ctags安装起来比较方便使用上述命令即可安装!...设置"""""""""""""""""" set cscopequickfix=s-,c-,d-,i-,t-,e- if has("cscope") set csprg=/usr/bin/cscope...5、cscope插件的使用 [4]Cscope是一个类似 ctags的工具。 你可以把它想作是超过频的 ctags,因为它功能比ctags 强大很多。...在VIM中使用cscope非常简单,首先调用“cscope add”命令添加一个cscope数据库,然后就可以调用“cscope find”命令进行查找了。...要使用cscope查找就必须加载cscope.out文件.在vim命令行下执行:(按照上述方法配置好的vimrc中有这一步) :cs add cscope.out 在vim命令行下执行: :cs
3696 pts/1 T 14:02 0:00 vim fs/ext2/super.c root 17460 0.0 0.0 3932 1776 pts/1 T 14:02 0:00 /usr/bin/cscope...-dl -f cscope.out root 17471 0.0 0.1 14424 3404 pts/1 T 14:02 0:00 vim fs/ext2/inode.c root 17472 0.0...0.0 3932 1808 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out root 19174 3.0 0.0 6416 1016 pts/... -dl -f cscope.out root 17471 0.0 0.1 14424 3404 pts/1 T 14:02 0:00 vim fs/ext2/inode.c root 17472...0.0 0.0 3932 1808 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out 使用如下命令 [root@btg P5906]# kill
your code make[2]: *** [find.o] 错误 1 make[2]:正在离开目录 `/home/zhuangqiubin/usr/tools/global-6.6.3/gtags-cscope...:正在离开目录 `/home/zhuangqiubin/usr/tools/global-6.6.3' make: *** [all] 错误 2 懒得改编译参数,直接改下源码算了 vim gtags-cscope...NULL; i++) { 重新执行一次make 安装 make install 安装后可找到 ~/usr/bin/global ~/usr/bin/gtags ~/usr/bin/gtags-cscope
当然你也可以通过apt-get的方式安装插件,例如 sudo apt-get install cscope sudo apt-get install ctags 但是这样的安装方式是不在vundle的管理范围的...在右侧窗口中显示taglist窗口 let Tlist_Use_Left_Windo =1 "在左侧窗口中显示taglist窗口 let Tlist_Auto_Open=1 cscope...基本配置 if has("cscope") set csprg=/usr/bin/cscope set csto=1 set cst set nocsverb " add any database...in current directory if filereadable("cscope.out") cs add cscope.out endif set csverb endif...图的左上方是树形目录,中间是文件函数,宏等内容,右边是源文件,最下方则是通过cscope查找找的函数调用结果。
集成了ctag和cscope等工具,支持函数跳转。 先来截个图: 新手之所以感觉vim不方便,一是需要入门学习,另一点就是想要个好用强大点儿的配置,需要自己安装配置各种插件。...(支持函数跳转有个前提条件:首次在项目的根目录位置使用vim打开文件后,需要执行一个:SrcInit()函数,然后按回车键,这样会自动触发ctag和cscope命令行工具工作。)...if has("cscope") set csprg=cscope csto=0 cst nocsverb if filereadable("cscope.out") " add any database...in current directory cs add cscope.out elseif $CSCOPE_DB !...-Rb -v" " let cmd = "cscope -Rb -v -s " " let cmd = cmd . a:path."
tags文件种类有很多,比如 ctags、etags、cscope、gtags 等,有关他们的区别可以参考下面链接里的内容: https://github.com/oracle/opengrok/wiki...Makefile里已经帮我们写好了如何生成各种tags,看下面的命令: $ make help # 省略其他 tags/TAGS - Generate tags file for editors cscope...- Generate cscope index gtags - Generate GNU GLOBAL index # 省略其他 由上可以看到,我们只要执行对应的make...quiet_cmd_tags = GEN $@ cmd_tags = $(BASH) $(srctree)/scripts/tags.sh $@ tags TAGS cscope...粗略看下该脚本里的内容: case "$1" in "cscope") docscope ;; "gtags
人在紧急情况下会产生「急智」,就好像突然开窍一般,我突然想到了用cscope生成的索引文件cscope.out。...非c/c++,或者非unix平台下工作的程序员可能不知道cscope —— 其实只要你使用IDE,IDE就会生成代码库的索引,跟cscope原理基本一样。...退而求其次,我只好求助于cscope命令本身。...使用过cscope的人大多是用vim/emacs或者直接"cscope -d"使用,我想99%的人不知道cscope还能这么用: $ cscope -d -L2 # print...使用cscope.out的另外一个好处是对代码的分析可以脱离代码本身,任何一个装有cscope的环境就可以进行分析。
:call SvnDiff() endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " For cscope...if has("cscope") set csprg=cscope csto=0 cst nocsverb if filereadable("cscope.out") " add any database...in current directory cs add cscope.out elseif $CSCOPE_DB !...= "" " else add database pointed to by environment cs add $CSCOPE_DB endif set csverb endif """"...("Fail to remove " . a:filename) endif endif endfunction " Function BuildTag(): Update tags and cscope
13、Cscope Cscope是一个类似于ctags的工具,不过其功能比ctags强大很多。...setting -- if has("cscope") set csprg=/usr/bin/cscope " 指定用来执行cscope的命令 set...cscope.out elseif $CSCOPE_DB !... cscope.out cscope.po.out 、用vim打开某个源码文件,末行模式下,输入“:cs add cscope.out"(该命令已被我们映射为快捷键F4),添加cscope数据库到...因为我们已将vim配置为启动时,自动添加当前目录下的cscope数据库,所以你再添加该cscope数据库时,vim会提示“重复cscope数据库 未被加入“ 、完成前两步后,现在就可以用“cs
Tlist_Exit_OnlyWindow=1” winmanager 配置map wm :WMTogglelet g:winManagerWindowLayout=’FileExplorer|TagList’“cscope...配置if has(“cscope”) set csprg=/usr/bin/cscope set csto=0 set cst set nocsverb ” add any database...in current directory if filereadable(“cscope.out”) cs add cscope.out ” else add database...pointed to by environment elseif ” cscope 快捷键 nmapsa :csadd cscope.out nmap<leader
vim缩进哦 F6关闭语法可以加快大文件的展示 F9这个定义了一个函数用gtags解析工程目录,这个跟ctags解析差不多,据说可以制动更新,不过我使用比较少 F12这个就是集成了ctags, cscope...两项功能的函数,只要到你想要生成工程的根目录按F12等待一会后你就能用cscope命令了(这个比较强大) 上述快捷键可以在我上篇中的.vimrc 脚本中更改按照你的习惯F12按键我配置的解析比较全,如果你不需要很全的解析请修改...在执行F9或者F12后你就可以使用cscope命令来阅读代码了(执行F9的话需要关闭一下在打开就OK了因为我执行F9完成后的自加载有问题) 如果你有能自动加载的配置请留言给我谢谢 操作快捷键配置 1....cscope 命令是如何执行 请在浏览模式下输入shift+: 然后输入 cs f s 跟上你要查找的字符串这个就是在你的解析工程目录下查找你输入的字符串所以文件位置 当然这种方式输入还是有点麻烦我们配置了快捷键
miscdevice 其他指令: ctrl + ] 跳转到贯标所在函数或者结构体的定义处 ctrl + T 返回查找或跳转 ctrl + G 查看当前vim打开文件和文件路径 Linux 为源代码生成cscope...: 1.sudo apt-get install cscope安装vim插件 2.cd到代码根目录并执行命令 cscope -Rbq生成索引库 3.vim中添加cscope.out,: cs add...cscope.out vim支持8种cscope的查询功能:cs find -s tags 命令 说明 s 查找C语言符号,即查找函数名、宏、枚举值等出现的地方 g 查找函数、宏、枚举等定义的位置,...e 查找egrep模式,相当于egrep功能,但查找速度快多了 f 查找并打开文件,类似vim的find功能 i 查找包含本文本文件的文件 :hi ModeMsg ctermfg=Green “修改cscope
领取专属 10元无门槛券
手把手带您无忧上云