vim + ctags + taglist + cscope + cppcomplete + global 使用初探
相关的扩展的安装
代码:
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
3、使用这些工具
1)准备工作,先修改一下$HOME/.vimrc文件
为了更好的使用cscope请添加如下内容,这样Ctrl-]的跳转将由cscope的tags进行分析。
代码:
if has("cscope")set csprg=/usr/bin/cscopeset csto=0set cstset nocsverb" add any database in current directoryif filereadable("cscope.out")cs add cscope.out" else add database pointed to by environmentelseif $CSCOPE_DB != ""cs add $CSCOPE_DBendifset csverbset cscopetagset cscopequickfix=s-,g-,c-,d-,t-,e-,f-,i-endif
2)使用cscope
cscope的tag生成最简单的方法是:
在你的开发工程的最上层目录执行cscope-indexer,它会遍历下面的所有目录,生成两个文件,一个是cscope.files,这个文件记录需要生成tags的文件名,可以手工修改,另一个是cscope格式的tags文件cscope.out。
完成后,你在生成了cscope.out的目录打开工程的任意文件,就可以使用Ctrl-]跳转查找类型定义了。
代码:
cs f s xxxx 查找xxxx出现的地方,它能详细列出哪些文件的哪行的哪个函数引用,以及该行的内容,比较不错。
它的所有命令的使用请参考:
代码:
help cscope
3)使用taglist
taglist的功能是即时生成当前文件的函数列表和全局变量列表,便于索引。
在vim中命令模式下使用
Tlist 打开或者关闭当前文件的索引;
TlistSync 立即在打开的索引窗口中定位当前的光标所在位置属于哪个函数或者结构定义中。
还有其他命令,请参考它的帮助文件。
4)ctags的使用
其实cscope是用来替代ctags功能的,ctags的应用广泛,还有其他很多的软件依赖它。
例如要生成cppcomplete需要的tags文件的话,需要运行下面的命令:
代码:
ctags -n -f cppcomplete.tags --fields=+ai --C++-types=+p * -L cscope.files
注意,我在最后使用了参数"-L cscope.files" 这仅仅是借用拉cscope生成的文件索引来帮助ctags去查询相关工程文件生成tags。
5)使用cppcomplete
cppcomplete的使用我只是简单的发现它可以根据上述方法生成的tags文件来自动补全类型成员。
使用很简单,就是在你需要补全类型成员时,按F8键就可以拉。它一般第一次使用时,需要让你确认是使用已有的tags文件还是再生成一次。一般我们自己控制生成tags文件的时机,它就使用就行拉。
但它也受到ctags的分析能力比较差的限制,可能不是每次都能帮到你。
6)使用global
在工程的最上层目录执行命令:
gtags
等待它完成所有需要的global自己格式的tags的生成
生成完后,需要的就是在生成tags的目录打开你的工程的任意文件,用如下命令查询相关类型引用和关联关系:
代码:
Gtags xxxx 查找xxxx的定义Gtags -r xxxx 查找xxxx的引用Gtags -s xxxx 查找xxxx出现的地方
它的提示信息很有显,不如cscope更直观,但对大型分析的比较完整。
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2007-09/7820p2.htm
分享到:
相关推荐
【标题】"vim秒变source insight"所表达的是一个技巧,即如何将经典的文本编辑器Vim转换成类似于Source Insight的代码浏览和编辑环境。Source Insight是一款著名的源代码分析工具,以其强大的代码导航、查找和理解...
**Source Insight 模仿VIM主题配置文件详解** Source Insight是一款强大的源代码阅读和编辑工具,尤其在编程领域,它以其高效的颜色高亮、代码跳转等功能受到许多开发者的青睐。而VIM(Vi Improved)则是一款历史...
总的来说,Source Insight 和 Vim 的代码补全配置关键在于理解和定制它们的补全机制,以适应个人的编程习惯。Source Insight 侧重于直观的界面和内置的分析能力,而 Vim 则依赖强大的插件系统,提供高度自定义的体验...
自己几年来vim使用经验的总结,全部体现到.vimrc脚本上了,上传上来,和大家分享,本.vimrc,可以完全代替sourceinsight,实现vim轻松阅读源码.
vim类似source insight的插件及其配置
Tlist是Vim的一个插件,它能提供类似于Source Insight的功能,帮助用户在代码导航方面提高效率。本篇文章将详细介绍如何配置Vim和Tlist,以实现高效、便捷的代码浏览和跳转。 首先,我们需要安装Vim和Ctags。Ctags...
总的来说,通过使用像 `sourceinsight-vim.xml` 这样的自定义颜色配置文件,Source Insight 4 用户可以充分利用其强大的功能,同时享受与 Vim 相似的编辑环境,提高编程工作的效率和满意度。对于习惯于 Vim 的开发者...
vim配置文件,将vim打造成SourceInsight
总之,通过细致的配置和色彩匹配,Source Insight可以被调整为类似VIM的界面风格,提高开发者的使用舒适度。`GLOBAL_V3.CF3`文件是实现这一目标的关键,它提供了定制Source Insight外观和功能的基础。如果你是VIM的...
个人比较喜欢用的一个source insight风格,暗夜色背景,类似于vim下的desert color Scheme
了解并熟练使用Source Insight的Linux风格,不仅可以提升开发效率,还可以帮助在不同操作系统之间无缝切换,这对于跨平台开发的工程师来说尤其重要。同时,掌握VI的使用技巧也能在没有图形界面的服务器环境中快速...
source insight 的 VIM风格皮肤的配置文件
vim 类似于sourceInsight 的工具。下载后解压到工作目录,替换原来的.vimrc 和.vim文件就可以了:cd ~/ tar -xvf vimtools.tar 。详细操作请看解压后的README文件
【Source Insight 使用教程】 Source Insight 是一款强大的源代码编辑器,尤其适合于Windows平台下进行源代码阅读和分析。在Linux环境下,虽然有vim和emacs这样的编辑器,但它们的配置复杂,对于初学者来说可能存在...
在Source Insight中配合Mariana主题使用,Source Code Pro能进一步提升阅读代码的体验。 安装Source Insight的Mariana主题和Source Code Pro字体非常简单。首先,你需要下载并解压包含Mariana主题文件的压缩包。这...
然而,如果你是Vim的忠实用户,可能更倾向于在Vim环境下实现类似SourceInsight的功能。这就是“cscope”进入视野的原因。cscope是一款开源的、命令行式的源代码搜索引擎,它可以让你在Vim中享受到类似于Source...
使用这样的vimrc配置,开发者可以在Vim环境中享受到类似于Source Insight的开发体验,包括但不限于: 1. 自动补全:快速输入代码,减少错误。 2. 语法高亮:增强代码可读性,区分不同类型的语句和关键字。 3. 代码...
在阅读和分析开源操作系统如Linux的源代码时,Source Insight提供了比传统文本编辑器如vim和emacs更直观和高效的解决方案。 首先,Source Insight的安装和启动非常简单。安装完成后,用户会看到一个主界面,其中...
- **解决方案**:利用SourceInsight的特性来提高阅读效率。 #### 三、与vim、emacs编辑器的对比 - **功能相似性**:vim和emacs也提供了类似的功能,如变量、函数搜索及彩色显示。 - **不足之处**: - 配置复杂。 ...