vim中ctags插件初识

7 篇文章 0 订阅

       ctags是一个外部程序,它通过扫描代码库,生成关键字的索引,ctags最初内置于vim程序中,但随着vim6.0的发布,它脱离vim成为一个独立的项目。它可以使我们快速的跳到函数及类的定义之处,从而实现浏览整个代码库的目的,这是它第一点好处;ctags的输出结果可以用于建立自动补全的单词列表,这是它第二点好处。

1. 安装ctags

在mac os x下,可以通过brew install ctags命令进行安装

在Linux下,先到http://ctags.sourceforge.net下载源码,解压后
$ ./configure
$ make
$ sudo make install


2.用ctags创建代码库的索引

格式为ctags file1 file2 ……,ctags会在目录下生成一个tags的纯文本文件,其内容是ctags经过对3个源文件的分析而生成的关键字索引。文件内容如下所示:


每一行文本均由关键字、文件名以及关键字在源代码中的位置这3项内容构成,另外,由于关键字是按字母顺序排列的,因此,vim可以采用折半查找快速定位到某个关键字。关键字由/^开头,$/结尾,中间是函数的声明

ctags不采用绝对行号,而是用查找命令定位每一处关键字,


3.配置vim使用ctags

       如果我们想在vim中使用基于ctag的跳转命令,首先,要确保标签文件是最新的,其次,要让vim知道到哪里去找标签文件。

       tags选项指定了vim应该到哪里寻找标签文件,以下命令用于查看缺省配置:set tags?,根据vim的缺省配置,我们可以在工程的每个子目录中都建立一个标签文件,或者为了简单起见,只在工程的根目录中维护一个全局的标签文件。

:!ctags -R 

        该命令将从vim当前的工作目录开始,遍历其所有的子目录,并为其中的每一个文件建立索引,最终,再把这个标签文件保存到当前目录中。每次都这样更新比较麻烦,可以采用映射,:nnoremap <f5>  :!ctags -R<CR>

        vim的自动命令功能允许我们在某个事件发生时调用一条命令,因此,我们可以创建一条自动命令,在每次保存文件时自动调用ctags

        :autocmd BufWritePost * call system("ctags -R")


4. 使用vim的标签跳转命令,浏览关键字的定义

        Ctrl + ],光标会从当前所在的关键字跳转到它的定义处,Ctrl + t命令充当后退按钮的角色,

       我们还可以先按g,然后按Ctrl + ]命令来代替Ctrl + ],如果当前关键字只有一处匹配,这两条命令的行为将完全一致,但如果发生了多处匹配的情况,前一个命令会从标签列表中挑出可选项供我们选择,值需要输入相应数字按回车即可。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值