高效能程序工具之ctags和Vim

ctags是用于产生源码文件之间的交叉引用的一个工具,它扫描源码文件,生成一个tags文件来记录其内的引用关系。这个tags文件可以被源程序编辑器识别,进而非常方便浏览多个源程序。
命令格式
ctags [options] [files]
常用选项
-R 递归式处理子目录
因为ctags的默认选项比较多,所以很多时候不用指定其他的选项。
最常用的方式
在某个源码目录下运行ctags *,或者在项目的根目录运行ctags -R。
例子:

cd external/webkit
ctags *(only files in current directory)
ctags -R(all files in current directory and sub directories)

在Vim中使用tags

要想在Vim中tags使用,必须先让Vim能找到相应的tags,可以把tags生成在当前目录下,或者切换到tags所在的目录。如果不愿意这样做,也可以在Vim中指定tags文件:

set tags=where_your_tags;

或者,让Vim自己去寻找:

set tags=tags;
set autochdir

第一句后面的分号是必须的。这告诉Vim,先在当前目录找tags,如果找不到去父目录,然后再父目录,直到找到为止。这个自动查找tags的方式是很实用,因为通常都是在项目的根目录生成tags文件,但你可以深入某个子目录去看文件,有了自动查找就方便多了。
用tag来跳转
在Vim中输入ex命令
:tag TAG
来跳转到TAG。也可以把光标放在某个标识的上面,然后按^](Ctrl+]),就可以跳转,比如:
在编辑WebViewCore.cpp,把光标放在Frame上面,或:tag Frame_h就会跳到Frame.h里面。
返回上一个TAG
按^T(Ctrl+t)可以返回到上一个TAG。如,接着上面,如果再按^T就会回到WebViewCore中。(其实,Vim有一个Tag Stack,每当:tag TAG或^]都会把TAG进栈,每按^T会出栈。关于栈还有许多

其他操作,但是不是怎么常用,也比较难记)。
最后需要注意的是如果当前文件已经编辑了,但还没有保存,是能够跳转到其他文件的。

参考:

  1. <Learning the Vi and Vim Editors>
  2. www.vimer.cn/2009/10/在vim中使用ctags.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值