linux之ctags的那点事儿


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也可以)
       
       最后,如何直接跳回第一个文件,我还不知道,有朋友知道的忘不吝赐教:[email protected]
        

    b.在bash命令行模式

        #vim -t 元素名

        这个命令会按照tags文件查找元素,如果这个元素有多处定义,則只返回第一个文件

4.Taglist插件
    
    在vim命令行模式下输入:"Tlist"命令,可生成一个包含本文档的函数列表,当函数很多时,非常方便查找
    因为Taglist插件依托ctags文件,所以如果Tlist执行不成功,可能是没有打包好ctags或没有安装Taglist插件
    Taglist也可以在~.vimrc中进行相关配置,这一点度一下,大把资料


    Over Thanks!

   

你可能感兴趣的:(linux之ctags的那点事儿)