在vim中如何使用ctags
来源:互联网 发布:快手伴奏软件下载 编辑:程序博客网 时间:2024/04/30 19:53
转出处: http://www.vimer.cn
如何在Vim中使用ctags?之前在《把Vim打造成真正的IDE》系列里已经讲过大致的ctags在vim中的使用,这篇文章我们就详细的讲一下。
首先要明白,ctags是什么?
官方的解释是:产生标记文件以帮助在源文件中定位对象。
其生成的标记文件tags中包括这些对象的列表:
枚举型变量的值
函数的定义、原型和声明
名字空间(namespace)
类型定义(typedefs)
变量(包括定义和声明)
类(class)、结构(struct)、枚举类型(enum)和联合(union)
类、结构和联合中成员变量或函数
那么我们用怎样的参数来使ctags正常的生成我们需要的tags文件呢?在这里我们就不去挨个学习那些枯燥的参数了,直接参看 omnicppcomplete 提供的ctags生成语句:
每个参数解释如下:
-R:ctags循环生成子目录的tags
--c++-kinds=+px :ctags记录c++文件中的函数声明和各种外部和前向声明
--fields=+iaS :ctags要求描述的信息,其中i表示如果有继承,则标识出父类;a表示如果元素是类成员的话,要标明其调用权限(即是public还是private);S表示如果是函数,则标识函数的signature。
--extra=+q:强制要求ctags做如下操作—如果某个语法元素是类的一个成员,ctags默认会给其记录一行,可以要求ctags对同一个语法元素再记一行,这样可以保证在VIM中多个同名函数可以通过路径不同来区分。
OK,那么tags文件就生成好啦,利用这个文件我们可以做很多强大的事情,包括前面用过的插件,omnicppcomplete、taglist、showfunc之类的,都是依赖于它的。
那么除了插件上的作用外,我们用户在vim里面怎么使用他呢?
其实最简单的就是:把光标移动到某个元素上,CTRL+],就会跳转到对应的定义啦。CTRL+o可以回退到原来的地方。
还有一个操作经常被人忽略,就是,如果当前光标下是个局部变量,在VIM里输入gd的话,就会跳到这个局部变量的定义处,也是非常方便滴~~
另外,tags必须在vim运行的当前目录,才能在vim里面正确跳转,当然也不是没有办法解决:settags="tags的文件路径"即可,不过如果像我前面文章说的那样定义了F12来快速生成tags的话(快速连接),也不会经常用到更改路径吧,哈哈。
顺便说一句,tags生成路径最好不要包含中文哦~~
OK,在Vim中使用ctags就到这里,下次我们会一起看看据说ctags的升级替代品,cscope~
另附 ctags官方下载地址,目前最新版本为5.8
版权所有,转载请注明出处。 http://www.vimer.cn
- 在vim中如何使用ctags
- 在Vim中使用ctags
- 在Vim中使用ctags
- 在Vim中使用ctags
- 在Vim中使用ctags
- vim中ctags使用
- vim中使用cscope+ctags
- vim中使用ctags工具
- ubuntu下如何使用vim cscope ctags
- Mac终端Vim如何安装使用ctags
- 使用Ctags在Vim跳转到定义
- vim 中Ctags的安装和使用
- vim 中Ctags的安装和使用
- vim中ctags的安装和使用
- vim 中Ctags的安装和使用
- vim 中Ctags的安装和使用
- vim中ctags插件的使用
- vim 中Ctags的安装和使用
- 百度地图
- Linux基础vi编辑器操作
- linux kill
- 详细解说 STL 排序(Sort)
- 详细解说STL string
- 在vim中如何使用ctags
- Android init.rc解析
- 队列 C语言实现
- GDB命令大全
- 一滴泪水能够承载多少的爱?
- 详细解说STL hash_map系列
- OS & Oracle is 32-bit or 64-bit?
- c#集合类的线程安全
- Linux中Samba详细安装