Copyright@Ucare张-2016.3.21
前言:在学习过程中发现,为了提高学习效率,ctags越来越重要;网上copy的教学内容太多了(真不知道这样写博客有什么意义),所以我从自己实践的角度跟大家分享ctags的操作
对于ctags还不知道是什么的朋友,不适合看本内容,度一下你就知道
=============================================================
1. ctags 打包 (只有先进行打包,才能通过相关命令追踪)
a.打包命令:ctags -Rn DIR
DIR是想要打包的路径,R表示递归打包,n表示对tags文件行数字标号
b.打包路径:linux内核/个人项目
一般对内核或个人项目文件打包,前者目的是查看库函数等,后者是方便维护调试等
备注:(对于n选项 我进行了不加n的对比,发现加n生成ctags文件对每一行tag都加了数字标号,而不加n的规则不固定,有些有数字标号,有些没有,它们在运行上面,暂时没有发现区别)
附:linux内核路径:/usr/src/kernel
2.设置ctags命令生效
a.配置~.vimrc ,添加set tags=/DIR/tags
b.如果已经配置过tags或者还有其它tags要配置:set tags+=/DIR/tags
注意:第一个:set tags=/DIR/tags 不应该有"+",如果都是set tags+=/DIR/tags 则会有报错-“E432: Tag 文件未排序: ctags”,且会有跳转不成功的情况
c.如果只想临时使用一下,可以在打开的vim下设置命令行;set tags=/DIR/tags
注:对于b c配置之后需要在打开文件的目录source ~.vimrc(source 相当于执行了一遍shell脚本,对于跳出来很多错误信息则不用理会,因为里面有些命令不会执行,或者很多行都不是命令)
还不知道用户目录和/etc目录作用范围的去面壁,不要问什么是~.vimrc
3.ctags追踪命令
a.在vim内部
光标放在要追踪的元素上,按"ctrl + ]" 或者在vim命令行模式输入:"ts + 元素名"
进入追踪模式后,按空格键可以用vim命令模式(不是命令行模式)一样用"k j 空格等"翻行和翻屏,当找到目标时,可按"q"键进入追踪输入模式,此时输入行号即可进入指定文件(看了N多资料,没有人说明白这一点,都是人云亦云,真是...呵呵)
你可以进行多级追踪,如果想跳回上一个文件,可按"ctrl + t"(T也可以)
最后,如何直接跳回第一个文件,我还不知道,有朋友知道的忘不吝赐教:303683086@qq.com
b.在bash命令行模式
#vim -t 元素名
这个命令会按照tags文件查找元素,如果这个元素有多处定义,則只返回第一个文件
4.Taglist插件
在vim命令行模式下输入:"Tlist"命令,可生成一个包含本文档的函数列表,当函数很多时,非常方便查找
因为Taglist插件依托ctags文件,所以如果Tlist执行不成功,可能是没有打包好ctags或没有安装Taglist插件
Taglist也可以在~.vimrc中进行相关配置,这一点度一下,大把资料
Over Thanks!