ctags的安装及其使用

我在学mosquitto 源码库的时候发现好多函数 ,宏定义什么的,搞得我头晕 摸不着头脑。所以来学习ctags的使用;

介绍一下,ctags是看源码的时候用来进行函数,宏定义 索引的,快速定位到你需要看的函数的源文件中去;便利源码的阅读。

安装:源码网站 http://ctags.sourceforge.net/
Ubuntu当然也可以用sudo apt-get install ctags;

当然,作为一个程序猿肯定要自己安装源码才行;
以5.8版本ctags-5.8.tar.gz为例:
$tar -xzvf ctags-5.8.tar.gz
$ cd ctags-5.8
$ ./configure
$ make
$ sudo make install
安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等

使用;
首先, ctags -R * 把需要用到的所有源码文件给包括进去。"-R"表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。
比如我自己mqtt源文件;
ctags的安装及其使用_第1张图片
然后把这个tags文件的文件路径用 set tags=“tags的绝对路径” 放到用户目录的关于自己用户的vim的 “.vimrc”的配置里面,(如果没有“.vimrc”文件,就自己创建一个。因为我自己的Ubuntu就没有~)

在这里插入图片描述
如果要配置多个tags,就多加一个路径和 “set autochdir”

ctags的安装及其使用_第2张图片
设置好了tags文件,在定位变量/函数的定义时的快捷键:
Ctrl + ]
把光标放在需要跳转到变量或函数的定义处。

:ta name(name为所需要跳转的变量名或函数名)
用命令跳转到变量或函数的定义处。。

Ctrl + o/t
返回到跳转前的位置。

:tags(在vim的input模式下)
查看到达当前位置所经过的标签路径。

vim -t “function” (function为你所需要找的函数名)
自动打开定义该函数的文件并定位到定义首行。

ctrl+g
查看当前文件名和所在行号。

另外,附上vim环境中其他较为好用的快捷键:
*定位至当前光光标所指单词的下一次出现的地方
#定位至当前光光标所指单词的上一次出现的地方
n 定位至跳至已被标记出的单词下一次出现的地方
shift+n (即N)定位至跳至已被标记出的单词上一次出现的地方

关于更详细的ctags用法,vim中使用
:help tags

你可能感兴趣的:(双)