使用VIM插件ctags来阅读C代码
1、说明
Ctags 是 vim 下方便代码阅读的工具。尽管 ctags 也可以支持其它编辑器,但是它正式支持的只有 vim。并且 vim 中已经默认安装 ctags,它可以帮助程序员很容易地浏览源代码;ctags 最先是用来生成 C 代码的 tags 文件,后来扩展成可以生成各类语言的 tags,但是我主要还是用来阅读 C 源代码。
ctags更新地址:http://ctags.sourceforge.net/ 这个网站是 ctags 的官方网站,可以下载到关于 ctags 的最新内容。
2、ctags能定位什么内容
1) 用#define定义的宏
2) 枚举类型变量的值
3) 函数的定义、原型和声明
4) 名字空间(namespace)
5) 类型定义(typedef)
6) 变量(包括定义和声明)
7) 类、结构体、枚举类型、联合
8) 类、结构体和联合中成员变量或函数
3、安装ctags
如果是redhat或centos系统可以直接使用yum在线安装
[root@localhost ~]# yum install ctags
源码位置生成tags文件
[root@localhost ~]# ctags -R *
4、查找操作(3种使用方式)
1)直接在命令行上操作
[root@localhost ~]# vim -t main [root@localhost ~]# vim -t pos_create_task
结果:直接打开对应符号对应文件,并定位到该符号的定义位置。常用在知道符号,但不知道在哪个文件模块中的位置。
2)在vim的模式下使用": ta"命令
:ta main :ta pos_create_task
3)在光标指定位置下直接使用"ctrl + ]"
在光标指定的位置下直接使用 "crtl + ]" 就可以定位到函数的定义位置;使用 "ctrl + t" 快捷键返回到上次跳转之前的位置。
关于ctags的用法很多,以下是我们列举的部分:
-->"ctrl + t"退回到原来的地方
-->"[{"转到上一个位于第一列的"{"
-->"}]"转到下一个位于第一列的"{" /* 似乎不管用 */
-->"{"转到上一个空行
-->"}"转到下一个空行
-->"gd"转到当前光标所指的局部变量的定义
-->"*"转到当前光标所指的单词一次出现的地方
-->"#"转到当前光标所指的单词上一次出现的地方
5、注意事项
使用 vim 打开相关使用 tags 标记的源文件时,当前目录要在 tags 所在目录下执行 vim 命令。如果在其子目录下边执行 vim 打开相应文件,默认是使用不了 ctags 的跳转功能的。解决的方式是,在 vim 的配置文件中 /etc/vimrc 或者 ~/.vimrc 中设置:set tags=/var/dz_resource/ineedle/soft/tags,这样就可以了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架