vim cscope taglist 使用
From: http://blog.csdn.net/skywalkzf/article/details/5009329
一 . 安装
apt-get install exuberant-ctags cscope global
cppcomplete 和 taglist 要到www.vim.org的扩展列表中下载
taglist 的下载地址:
http://www.vim.org/scripts/script.php?script_id=273
cppcomplete 的下载地址:
http://www.vim.org/scripts/script.php?script_id=527
然后在 建立目录
代码:
$HOME/.vim/plugin
将下载的cppcomplete.vim 和 taglist.vim拷贝到$HOME/.vim/plugin中。
安装了global后,最新4.8.6 以上版本有带vim的扩展,将它也拷贝到 $HOME/.vim/plugin
debian sid 版本global安装后扩展文件在
代码:
/usr/share/doc/global/examples/gtags.vim.gz
需要拷贝到$HOME/.vim/plugin后解压,解压方法:
代码:
gzip -d gtags.vim.gz
二 . 配置~/.vimrc
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
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
set cscopetag
"set cscopequickfix=s-,g-,d-,t-,e-,f-,i-
endif
三 . 载入与使用
cscope -R //载入数据库
Ctl+D //退出
Ctl+T //文件中退出
find 选项 字符串
0 或 s: 查找 C 符号
1 或 g: 查找定义
2 或 d: 查找本函数调用的函数
3 或 c: 查找调用指定函数的函数
4 或 t: 查找字符串
6 或 e: 查找 egrep 模式
7 或 f: 查找文件
8 或 i: 查找包含指定文件的文件
四 . 和ctags配合使用:
载入ctags: ctags -R *
4.将光标移到kmalloc 单词上,
4.1 按"CTRL-/ s",将你带入所有引用函数kmalloc的菜单,在当前窗口打开文件
4.2 按“CTRL-]”,将你带入所有实现函数kmalloc的菜单,在当前窗口打开文件
4.3 按“CTRL-Space s”,将你带入所有引用kmalloc的菜单,水平打开新窗口
4.4 按“CTRL-Space CTRL-Space s”,将你带入所有引用kmalloc的菜单,垂直打开新窗口
4.5 下列是各键的含义
s --- symbol 符号
g --- globals 全局变量
c --- calls 调用自己的
t --- text 文本引用
e --- egrep 做egrep 搜索
f --- file 打开在光标处的文件
i --- includes 查找include所在光标处文件名的文件
d --- called 查找本函数调用的所有函数实现
4.6 按“CTRL-T”返回上一级窗口
5. 除了使用热键以外,也可以使用命令模式来查找
5.1 cs f s kmalloc
等价于CTRL-/ s
5.2 scs f s kmalloc
等价于CTRL-Space s
5.3 vert scs f s kmalloc
等价于CTRL-Space CTRL Space s
6. export CSCOPE_DB=~/cscope/cscope.out
这样就可以在任意目录下run “vi -t kmalloc”,而不会出现找不着DB的情况。
五 . vim的taglist插件使用方法
函数和变量的定义的即时浏览。这个是非常有用的功能。成千的变量,对于C/C++来说,一个类型错误都可能导致极难发现的问题,运行时出现无法预料的结果。vim里面使用taglist实现的。并且多个文件的列表都在一起,还可以按照类型折叠,以便于浏览。
taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!
#cp doc/taglist.txt /usr/share/vim/vim70/doc/
#cp plugin/taglist.vim /usr/share/vim/vim70/plugin/
#cd /usr/share/vim/vim70/doc/
(注:vim70是我自己的vim版本号,每个人可能不同,自己更改一下)
然后打开sudo vim,shift+: ,进入vim的命令行,使用
来配置帮助文档
重启vim,用“:TlistToggle”来打开和关闭taglist窗口。
可以用“:help taglist”来获得更多帮助信息
下面讲一下~/.vimrc配置文件的设置,下面是我自己的文件的设置
syntax on
" 设置文字编码自动识别
set fencs=utf-8,cp936
" 使用鼠标
set mouse=a
" 设置高亮搜索
set hlsearch
" 输入字符串就显示匹配点
set incsearch
" 输入的命令显示出来,看的清楚些。
set showcmd
" Tlist的内部变量。函数列表。
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
"函数和变量列表
map <F4> :TlistToggle<CR>
"全能补全
inoremap <F8> <C-x><C-o>
" 没事,鼠标画线玩的。
" noremap <F9> :call ToggleSketch()<CR>
set wildmenu
" 启动函数变量快速浏览的时间设置
set updatetime=100
然后你就可以在你vim中使用taglist,此时只需要点击F4来打开或者关闭!
经过充实我的~/.vimrc内容如下:
set hlsearch
set ai
syntax on
set number
set nocompatible
set columns=80
filetype on
set history=1000
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set noexpandtab
set ignorecase
set mouse=a
set cindent
set incsearch
set fencs=utf-8,cp936
set showcmd
"Tlist的内部变量。函数列表。
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
" "函数和变量列表
map <F4> :TlistToggle<CR>
" "全能补全
inoremap <F8> <C-x><C-o>
" " 没事,鼠标画线玩的。
noremap <F9> :call ToggleSketch()<CR>
set wildmenu
" " 启动函数变量快速浏览的时间设置
set updatetime=100
map <F2> :split<CR>
map <F3> :vsplit<CR>
map <F5> :q!<CR>
map <F6> :w!<CR>
map <F7> :wq!<CR>
autocmd FileType python set omnifunc=pythoncomplete#Complete
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_DB != ""
cs add $CSCOPE_DB
endif
set csverb
set cscopetag
"set cscopequickfix=s-,g-,d-,t-,e-,f-,i-
endif
vim cscope taglist 使用相关推荐
- vim无法打中文_vim+ctags+cscope+Taglist+Nerdtree打造成sourceinsight
听说vi很强大?是的,最近笔者需要在Linux下编写一些C代码和查看一些C源码,但是默认的vi并不支持函数之间的跳转.查看函数的定义等等,所以笔者就将vi打造成了一个ide(可以勉强称得上吧).首先我 ...
- Vim编程之:tags,cscope,taglist
最近VIM用得比较多,所以在学了不少.在这里对收获到的东西做一个总结. 1.编程四要素vim,ctags,cscope,taglist vim配合这3件东西之后,极为强大.与SourceInsight ...
- Linux 内核阅读工具vim+ctags+cscope+taglist
今天,来介绍一下vim+ctags+cscope+taglist的内核阅读配置.当使用过之后,我相信大部分人都会舍弃之前的Eclipse(我就是活生生的一个例子).我们先来看看实现的界面是怎么样的: ...
- vim+cscope+ctags打造属于自己的IDE
所谓工欲善其事,必先利其器.作为专业码农,特别是长期在Unix系统上展开工作(查看源代码.coding)的码农,没有一个极致的IDE环境,工作效率会很受影响的.当然啥时候Unix系统如果有Visual ...
- vim中taglist无法显示问题
以前在fedora中使用使用taglist一直正常: 今天在ubuntu中配置了vim,但是taglist无法正常显示函数及变量列表: 查看文件目录下面也生成了tags的文件,说明ctags也安装没问 ...
- linux源代码阅读组合vim tags taglist
vim+ctags+taglist 在linux下构建类似于windows sourceinsight的源码阅读环境 /***********************************/ /** ...
- cscope精准查看linux函数调用,Cscope的使用(领略Vim + Cscope的强大魅力)
1.Cscope介绍 Cscope是类似于ctags一样的工具,但可以认为她是ctags的增强版,因为她比ctags能够做更多的事.在Vim中,通过cscope的查询,跳转到指定的地方就像跳转到任何标 ...
- vim cscope java_【转】Cscope的使用(领略Vim + Cscope的强大魅力)
[转]Cscope的使用(领略Vim + Cscope的强大魅力) 1.Cscope介绍 Cscope是类似于ctags一样的工具,但可以认为她是ctags的增强版,因为她比ctags能够做更多的事. ...
- vim cscope java_在Vim(gvim)中使用cscope
之前已经详细的介绍了在 vim中使用ctags ,这篇文章我们就来详细介绍一下如何在vim中使用cscope. 首先,我们还是了解一下什么是cscope.简单来讲,cscope主要用来协助浏览C/C+ ...
最新文章
- mysql非聚集索引区间查询_mysql的聚集索引和非聚集索引,回表查询,索引覆盖,最左前缀原则略解...
- 实验测试2SK241的g-s击穿电压
- LT1004CZ-2.5 参考电压源
- Codeforces - 466C - Number of Ways - 组合数学
- 萌宠历险记html5游戏在线玩,《神武2》天外魔境现世 萌宠历险记首发
- 湛江市计算机等级考试,2020广东省湛江市计算机等级考试注意事项
- 腾讯优图刷新人体姿态估计国际权威榜单,相关论文被ECCV2020收录
- 三分钟掌握Go mod常用与高级操作
- WebAssembly 为何能改变软件的分发?
- hdu4734 F(x)
- 阻止默认事件event.preventDefault();
- 学习小实例--滚动条
- 七月算法机器学习4 凸优化初步
- 大学四年,看过的优质书籍推荐
- IDEA 主题颜色设置
- 图书借阅系统UML建模
- 异步时钟域的亚稳态问题和同步器(四)
- 物联网设备OTA软件升级之:升级包下载过程之旅
- php三D立体模拟,【HTML5】3D模型--百行代码实现旋转立体魔方实例
- vmware虚拟机屏幕如何适应窗口全屏
热门文章
- [笔记]java-package
- 6月份美国域名总量新增近5.4万个 环比减少51%
- 织梦在线报名平台php,DedeCMSv5
- 访问模型参数,初始化模型参数,共享模型参数方法
- 初探Golang(3)-数据类型
- leetcode 1143. 最长公共子序列(dp)
- leetcode162. 寻找峰值(二分法)
- css背景图片添加url_CSS背景图片–如何向您的Div添加图片URL
- vim捐赠_#PayItBackwards-一位freeCodeCamp毕业生如何向事业捐赠10,000美元
- vj节点_创意编码—如何在JavaScript中创建VJ引擎