Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 教程 > Linux教程 > 正文

Vim插件——Cscope

时间:2016-05-30 21:24 来源:网络整理 作者:51ou.com 阅读:

0.开发环境

Ubuntu14.04

Vim7.4


1.安装Vim & cscope

sudo apt-get install vim-gnone 
sudo apt-get install cscope 


2.安装cscope.vim插件

可以利用Vundle来安装此插件(与上面安装的cscope是不同的,这里安装的是插件,上面安装的是一个独立的工具)。


3.配置&使用

3.1.生成cscope.out库文件

和使用ctags生成tags类似,通过下述命令可以生成cscope.out:

cscope -Rb 

3.2.添加目录/库文件

打开vim之后,可以通过下述命名添加目录

:cs add directory 

或者

:cscope add directory 

也可以将下面语句添加到vim的配置文件.vimrc中

if filereadable("cscope.out") 
cs add cscope.out 
elseif $CSCOPE_DB  != "" 
cs add $CSCOPE_DB 
endif 

这样子就会在打开vim的时候自动加载当前目录下车cscope.out文件。

3.3.find命令

Cscope的功能通过它的子命令find来实现。

:cs find c|d|e|g|f|i|s|t name 

其中各个参数意义如下:

s -- symbol:find all references to the token under cursor 
g -- global:find global definition(s) of the token under cursor 
c -- calls:find all calls to the function name under cursor 
t -- text:find all instances of the text under cursor 
e -- egrep:egrep search for the word under cursor 
f -- file:open the filename under cursor 
i -- includes:find files that include the file name under cursor 
d -- called:find functions that function under cursor calls 

3.4.快捷键映射

为了便于查找,可以在.vimrc中设置上述各命令的快捷映射:

nmap <S-s> :cs find s <C-R>=expand("<cword>")<CR><CR> 
nmap <C-g> :cs find g <C-R>=expand("<cword>")<CR><CR> 
nmap <S-c> :cs find c <C-R>=expand("<cword>")<CR><CR> 
nmap <S-t> :cs find t <C-R>=expand("<cword>")<CR><CR> 
nmap <S-e> :cs find e <C-R>=expand("<cword>")<CR><CR> 
nmap <S-f> :cs find f <C-R>=expand("<cword>")<CR><CR> 
nmap <S-i> :cs find i ^<C-R>=expand("<cword>")<CR>$<CR> 
nmap <S-d> :cs find d <C-R>=expand("<cword>")<CR><CR> 

使用时,将光标停留在要查找的对象上,按下Ctrl + g,将会查找该对象的定义(这里使用Ctrl是为了避免和vim的原有快捷方式冲突);其它的快捷方式使用如Shift + s/c/t/e/f/i/d。


本文永久更新地址:

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Vim插件——Cscope》技术文章,《Vim插件——Cscope》详细使用和说明,有时《Vim插件——Cscope》可能不完善、敬请谅解!如果《Vim插件——Cscope》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片