首先安装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 路径。目前为了防止审计超大型代码时候引入过多的无效文件,使用的是文件后缀白名单模式。
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
对于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
当然你也可以通过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
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
人在紧急情况下会产生「急智」,就好像突然开窍一般,我突然想到了用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的环境就可以进行分析。
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
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
: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
同理,打开GVIM后,需要进入 工作目录(如: E://work//myprj),则直接输入 :E E://work//myprj 使能ctag和 cscope,方便查找与跳转。...自动的会去执行ctag和cscope指令,生成相关的配置。 至于快捷键,这里不介绍了。直接查看_vimrc文件即可。想添加新功能,新快捷键,直接编辑这个文件即可。...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."
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元无门槛券
手把手带您无忧上云