第十六章 通过ctags建立索引,并用其浏览源代码

ctags *.rb

用模式定位关键字,而不是行号。描述标签文件格式的规格文档明确指出,关键字的地址可以是任意的Ex命令。
ctags不采用绝对行号,而是查找命令定位每一处关键字。

用元数据标记关键字
传统的标签文件格式只需有制表符分隔的3组字段构成:关键字、文件名以及定位符。

配置Vim使用ctags
告诉Vim标签文件在哪里

生成标签文件
正如我们在用ctags创建代码库的索引所看到的那样,ctags可以在系统命令行中执行。
通过以下命令,我们可在Vim中直接调用ctags:
:!ctags -R

通过使用以下映射项,能为我们节省不少时间
:nnoremap <f5> :!<ctags> -R<CR>

在每次保存文件时自动保存执行ctags
:autocmd BufWritePost * call system(“tags -R")
通过版本控制工具的回调机制自动执行ctags
《Effortless Ctags with Git》一文中,他为我们讲解了如何为post-commit、post-merge以及post-checkout等事件简历回调机制。该方案的优势在于实现了全局回调功能,通过它,你将不必为系统中的每个代码仓库单独进行配置。

跳到关键词的定义处:
<C-]>,光标将会从当前所在的关键字跳转到它的定义处。
<C-t>命令会充当“后退按钮”的角色。:tnext :first :tlast

总结了在使用标签进行代码浏览时的可用命令     
命令 用途
<C-]> 跳转到匹配当前光标所在关键字的第一处标签
g<C-]> 如果有多处标签可以匹配当前光标所在的关键字,提示用户指定一处进行跳转。如果只有一处匹配,则不会提示,直接进行跳转
:tag {keyword} 跳转到匹配{keyword|的多处标签中指定一处进行跳转。如果只有一处匹配,则不会提示,直接进行跳转。
:pop 或 <C-t> 反向遍历标签历史
:tag 正向遍历标签历史
:tnext 跳转到下一处匹配标签
:tprev 跳转到上一处匹配标签
:tfirst 跳转到第一处匹配的标签
:tlast 跳转到最后一处匹配的标签
:tselect 提示用户从标签中匹配列表中选择一处进行跳转

浏览Quickfix列表的命令     

命令 用途
:cnext 跳转到下一项
:cprev 跳转到上一项
:cfirst 跳转到第一项
:clast 跳转到最后一项
:cnfile 跳转到下一个文件中的第一项
:cpfile 跳转到上一个文件中的最后一项
:cc N 跳转到第n项
:copen  打开quickfix
:cclose 关闭quickfix窗口


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值