关于vim,ctags的一个小技巧

本文介绍如何使用ctags工具为目录树中的源文件生成统一的tags文件,并在Vim编辑器中利用这些tags进行源代码导航。通过递归生成tags文件,解决了跨目录引用时的代码浏览问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vim可以使用ctags制作的tags文件来浏览程序源文件。问题是,当源文件存放在目录树(也就是所谓的source tree)的时候,该怎么办呢?
在缺省情况下,ctags只会处理当前目录里的源文件,而且vim也只会参考当前目录的tags文件。这时候,如果当前目录里的源文件引用了其他目录里的定义,那么vim就无法利用tags文件自动跳转了。解决这个问题主要依靠两个技巧:
一,在目录树的根目录里,使用命令:
ctags -R 或 ctags --recurse
这两个命令应该是等效的,但是在我目前使用的ctags(版本5.5.4),ctags -R似乎无效。--recurse参数会让ctags遍历整个目录树,分析所有子目录里的文件。最后形成的tags文件会放在根目录里。
HOW TO USE WITH VI
       Vi 缺省的期望当前工作目录中有一个名为 "tags" 的标签文件。一旦生成了标签文件,下面的命令执行

       按标签索引的特性:

       vi -t tag  
启动 vi 并且把光标定位在 "tag" 定义所在的文件和行上。

       :ta tag    
查找一个标签。

       Ctrl-]     
查找光标下的标签

       Ctrl-T     
返回跳转到标签前的前一次位置 (不是所有实现都支持)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值