C编程 - ctags

Posted 王万林 Ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C编程 - ctags相关的知识,希望对你有一定的参考价值。

C编程 - ctags

ctags简介

ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags,有些语言也有专有的tags生成工具(比如java的jtags, python的 ptags).

使用

环境

C代码文件
在这里插入图片描述这里我们main函数在simple-shell.c里,我们打开看看,
在这里插入图片描述从图中我们可以看到,我们使用#include指令引入了多个头文件,并使用了从头文件中定义的函数,如getinput函数。

使用vim看另外一个C文件时,需要关闭当前打开的文件,再打开来查看另外的C文件。如何能快速地查看函数定义,并能快速返回呢?

使用ctags

安装ctags

Ubuntu执行sudo apt-get install ctags安装;

生成tags文件

在这里插入图片描述

在vim中查看函数定义

打开主文件,将光标移动到函数名称,按下“Ctrl+]”(或:ta <function_name of variable name>),这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+T”可以退回原来的地方。
即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。

请看视频演示

C编程之ctags使用

上述的能对于本文件夹以及子文件夹的进行搜索跳转,但是无法对系统提供的头文件定义的函数或变量进行跳转显示(比如rprintf),如下所示。
在这里插入图片描述
下面介绍exctags。

exctags

安装

在这里插入图片描述

生成tags文件

在这里插入图片描述

配置

~/.exrc~/.vimrc

apue$ echo "set tags=tags\\ /home/thesre/.tags" >> ~/.exrc
apue$ echo "set tags+=~/.tags">> ~/.vimrc

效果

exctags

以上是关于C编程 - ctags的主要内容,如果未能解决你的问题,请参考以下文章

liunx中ctags 与makefile的使用

vim插件ctags的安装与使用

Centos6.5下虚拟机Linux 关于g++,gdb,ctags安装以及vim的配置

vim 配置问题 :ctags 在windows 下怎样安装?

ctags和youcompleteme的比较

ctags的如何生成tags文件