vim 解决tags递归查询问题
今天在vim下配置了两个插件,分别是exuberant-ctags 跟cscope。这两个插件主要是用来实现类、方法查询跟跳转。至于它们如何安装跟使用,网上教程一大堆,我也是按着别的大神教程一步步来的。这里我主要是记录下关于tags标签查询的问题。
我们知道,以上的两个插件的工作,主要依赖的就是tags这个标签文件(当然他们各自有自己的标签文件),这个文件是我们手动生成的,而且往往是在我们的根目录下,如果我们不做处理,会发现,我们离开这个目录以后,这两个插件就没法工作了。而我们又不可能在一个目录的每一个子目录都生成这样一个文件,所以我参照了网上的方法,实现tags文件递归查询使用。也就是说,如果当前目录下没有可用的tags文件,他会往上级跟下级目录查询有没有可用的tags。具体方法如下
以下内容参考
http://www.cnblogs.com/pangchol/p/3455662.html
1.我们可以在.vimrc中配置如下内容,实现exuberant-ctgs 递归查询
#set autochdir
set tags=./tags,./../tags,./../../tags,./../../../tags,./../../../../tags,./../../../../../tags,./../../../../../../tags,./../../../../../../../tags,./../../../../../../../../tags,./../../../../../../../../../tags,./../../../../../../../../../../tags,./../../../../../../../../../../../tags,./../../../../../../../../../../../../tags,./../../../../../../../../../../../../../tags,./../../../../../../../../../../../../../../tags,./*/tags
上面两条命令,第一条,网上说的是能够自动往子目录里查询,不过,我加了这条语句以后,当跳转到某个方法调用的地方的时候,提示那个java类不存在,所以我把这句注释掉了。直接用第二条命令就行了
第二条命令,就是说设置tags取值,上面那一大串,就是说如果第一个逗号之前的内容没找到,就会往上找,依次网上找,一个逗号代表一层目录;最后一条才是往所有子目录下找
增加了这两条命令以后,我们的tags文件,无论是在子目录,还是父目录,都可以使用exuberant-ctags了。
2.同样的,cscope也是存在这个ctags查询问题。它处理的方式,我是参照参考内容,直接使用的插件
插件下载地址
http://www.vim.org/scripts/script.php?script_id=157
这个插件其实就是一个.vim文件,我们只需要把这个.vim文件拷贝到.vim/plugin下就行了
vim 解决tags递归查询问题的更多相关文章
- vim之tags
好长时间没有上来更新了, 今天趁老板不再上来休闲一下. 本章要说的是和vim的tags相关的内容. 之所以在跳转之后就说明tags是因为这个功能相当的重要和实用. 好的东西自然是需要提前分享的. 首先 ...
- vim 的 tags 模块 与 ctags
1. 概述 一般来说,在代码中跳转,离不开 ctags. 实际上,vim 中代码跳转是由 vim tags 模块完成的,tags 模块依赖于 tags 文件. ctags(Generate tag f ...
- [转]Git for windows 下vim解决中文乱码的有关问题
Git for windows 下vim解决中文乱码的问题 原文链接:Git for windows 下vim解决中文乱码的有关问题 1.右键打开Git bash: 2.cd ~ 3.vim .vim ...
- VIM 解决中文乱码
$ vim ~/.vimrc 加入以下内容 set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf- ...
- vim解决中文显示乱码问题
命令:vim ~/.vimrc 写入如下: set enc=utf-8 set fileencoding=utf-8 set fileencodings=ucs-bom,utf8,prc set gu ...
- Linux安装vim,解决vim: command not found
1,输入rpm -qa|grep vim 命令, 如果 vim 已经正确安裝,会返回下面的三行代码: root@server1 [~]# rpm -qa|grep vim vim-enhanced-7 ...
- vim之<F12> 一键生成tags的一些小优化
在之前我写的<<vim之tags>>中最后提到将vim和tags成和更新的全部集中到一个<f12>键上来. 这在实践中证明是相当方便的, 不过依然村庄几个问题如下: ...
- [vim]vim 在win下乱码解决
vim在win下遇到汉字乱码早就知晓,本以为通过如下设置即可解决乱码问题 set encoding=utf-8 set fileencoding=utf-8,chinese 这样设置是可以解决源码文件 ...
- 解决 vim 乱码
打开vim安装目录下的_vimrc,在头部加上几句配置语句就能搞定: //设置默认编码 set encoding=utf-8 set fileencodings=utf-8,chinese,latin ...
随机推荐
- Why functions - Not only for python
It may not be clear why it is worth the trouble to divide a program into functions. There are a lot ...
- 模拟select样式,自定义下拉列表为树结构
效果图如下: 首先,需要用到的库jQuery,zTree(官网API:http://www.treejs.cn/v3/api.php) 注意:因为zTree是基于jQuery的,所以应该先引入jQue ...
- Android EditText+ListPopupWindow实现可编辑的下拉列表
使用场景 AutoCompleteEditText只有开始输入并且与输入的字符有匹配的时候才弹出下拉列表.Spinner的缺点是不可以编辑.所以本文介绍如何使用EditText+ListPopupWi ...
- 《剑指offer》二维数组中的查找
一.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 二.输入描述 ar ...
- SQL--CLR概述
Visual Studio 2005 支持在 SQL Server 2005 中开发.部署和调试托管代码.有一种新的项目类型(称为 SQL Server 项目),它允许开发人员在 SQL Serve ...
- objc_clear_deallocating 与弱引用
void *objc_destructInstance(id obj){ if (obj) { Class isa_gen = _object_getClass(obj); class_t *isa ...
- Network authentication method and device for implementing the same
A network authentication method is to be implemented using a network authentication device and a use ...
- docker安装cloudera manager,切换cloudera-scm用户报错can not open session
在root帐号下su - cloudera-scm报错can not open session 在网上搜,大概是说ulimit超过限制之类,搞了很久才找到/etc/security/limits.d/ ...
- maven中使用mybatis
1.Mybatis优缺点 优点: Mybatis实现了对Dao层的封装,隔离了SQL语句,便于管理,避免了像JDBC那样操作数据集,便于扩展等等. 缺点: Mybatis属于?半自动“ORM”,比Hi ...
- js 阻断网页选中和右键
$(document).bind("contextmenu", function () { return false; }); $(document).bind("sel ...