0x00 什么是 Ctags
📚 Ctags(Generate tag files for source code)是 Vim 下方便代码阅读的工具。
尽管 Ctags 也可以支持其它编辑器,但是它正式支持的只有 Vim。并且 Vim 中也已经默认安装了 Ctags,可以帮助程序员很容易地浏览源代码。
Ctags 最先是用来生成C代码的 tags 文件的工具,后来扩展升级成了可以生成各类语言的 tags 的神器。值得一提的是,有些语言自带专属的的 tags 生成工具,比如 java 的 jtags,python 的 ptags。
- Ctags 可用来生成编程源数据库的 Unix 命令 tag(如:全局变量、函数定义、宏声明)。
- 我们可以利用 tag 文件,找到函数和变量的位置。
0x01 生成 tags 文件(Generate tags file)
💬 在 pintos/src 目录下输入:
$ ctags –R * # 生成tags文件
解读: -R 表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。 * 表示所有文件。这条命令会在当前目录下产生一个 tags 文件,当用户在当前目录中运行 vi 时,会自动载入此 tags 文件。
输入完毕后,Ctags 将创建 tags 文件:
0x02 在 .vimrc 注册 tags 文件(Registertagsfileat.vimrc)
在 .vimrc 文件中添加行:
后当启动 vim 时,它会找到 tags 文件。
查找变量和函数名:
$ vi –t tag # tag为你想查找的变量或函数名
📌 注意:运行 Vim 时,必须在 tags 文件所在的目录下运行!
0x03 在 Vim上使用 Ctags 的快捷方式(Shortcuts when using ctags on vim)
① 跳转至光标所在函数或变量的声明点:
Ctrl + ] # 转到函数或变量的声明点
② 返回查找(之前的 tags 或代码):
Ctrl + t # 返回之前的 tags 或代码
最方便的方法是把光标移到变量名或函数名上,然后按下 Ctrl+] ,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用 Ctrl+t 可以退回原来的地方。即使用户使用了N 次 Ctrl+] 查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。
📌 [ 笔者 ] 王亦优 📃 [ 更新 ] 2022.9.19 ❌ [ 勘误 ] /* 暂无 */ 📜 [ 声明 ] 由于作者水平有限,本文有错误和不准确之处在所难免, 本人也很想知道这些错误,恳望读者批评指正!
📜 参考资料 Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. . 百度百科[EB/OL]. []. https://baike.baidu.com/. |