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相关推荐

  1. vim切换编程语言_把 Vim 打造成源代码编辑器 - C 语言编程透视

    前言 程序开发过程中,源代码的编辑主要是为了实现算法,结果则是一些可阅读的.便于检错的.可移植的文本文件.如何产生一份良好的源代码,这不仅需要一些良好的编辑工具,还需要开发人员养成良好的编程修养. L ...

  2. 强大的,方便编程的vim配置

    我想补充一点的是,当这么配置后,配合putty使用的时候,可能直接圈起来不能复制了,因为由vim处理了鼠标事件,为了让xterm处理,需要按shift点鼠标就可以了.这样就可以复制了. 另外,下面这个 ...

  3. Vi经典插件ctags(转)

    来源:http://www.cnblogs.com/lihaozy/archive/2012/08/06/2624909.html (为了提高工作效率,必须学会使用一些工具) . 查看 key 相关信 ...

  4. ubuntu下vim + ctags + taglist配置和使

    ctags安装 ctags可以建立源码树的索引,使程序员在编程时能迅速定位函数.变量.宏定义等位置去查看原形 以下是在ubuntu下ctags的下载安装和配置过程: 下载并安装ctags,终端输入命令 ...

  5. 一篇特别长的总结(C专家编程)

    博客链接: http://codeshold.me/2017/02/expert_c_programming.html 读一本书必输出一篇笔记或者总结!!! <C专家编程>这本书很早看完了 ...

  6. 【转】使用 vim + ctags + cscope + taglist 阅读源码

    原文网址:http://my.oschina.net/u/554995/blog/59927 最近,准备跟学长一起往 linux kernel 的门里瞧瞧里面的世界,虽然我们知道门就在那,但我们还得找 ...

  7. vim 编程常用的指令和快捷键

    文章目录 移动光标 修改.剪切或复制配对符之间的内容 ctags cscope gtags 编译 快速修改窗口 自动补全 多行缩进缩出 折叠 移动光标 命令 说明 gd 跳转到局部变量的定义处 gD ...

  8. VIM使用系列之一——配置VIM下编程和代码阅读环境

    作者:gnuhpc from http://blog.csdn.net/gnuhpc  http://gnuhpc.wordpress.com/ 本文环境:ubuntu 10.10/vim7.2 前言 ...

  9. gvim for php,转 : Gvim建立IDE编程环境 (Windows篇)

    说明:本文是作者在完全按照著名的<手把手教你把Vim改装成一个IDE编程环境>一文,在Windows XP上用gvim建立IDE环境时所作的备忘. 原作地址:http://blog.csd ...

最新文章

  1. 哈希一致性、哈希取余、自定义轮询分片的比较
  2. 打造高端网站应该具备哪些品质?
  3. Leetcode1710. 卡车上的最大单元数[C++题解]:贪心
  4. YOLOv5-LibTorch
  5. tkmybatis 子查询_dnssearch 子域名枚举工具
  6. keyshot10 pro for mac最新版
  7. 探索HTTP传输中gzip压缩的秘密
  8. mybatis如何防止sql注入
  9. preventDefault() 方法 取消事件的默认动作
  10. 从键盘读取数据,回车才能显示的问题
  11. 《嵌入式系统项目分析入门与实践》 读后感(1)
  12. jdbc mysql url写法_Springboot项目连接MySql写了一个bug你也可能遇到
  13. Atitit arch design context软件架构设计的内容 目录 1. 考虑到架构设计原则 1 1.1. 开发效率 稳定性 可靠些等 性能 1 1.2. 简单原则则 1 1.3. 配置
  14. 随着计算机科学技术和互联网,计算机科学与技术发展趋势的几点思考
  15. 秋无痕 Windows XPSP3 集成安装增强版 V201306
  16. 人事管理系统之部门结构树的展示
  17. 1076: 三位数求解 C语言
  18. 教你制作启动U盘,用U盘装系统(转载)
  19. java拼图游戏(未补全)
  20. 2. 嵌入式Linux系统移植 - 交叉编译工具集

热门文章

  1. 微信小程序项目实例——备忘录
  2. 每天几个动作 帮新娘打造精致小脸
  3. MPLS 虚拟私有网 CSC Option C(BGP分发标签)
  4. C语言图形化终极(基本贴图、切割贴图、透明贴图)
  5. 计算机信息管理员考试知识点,网络管理员考试知识点1—计算机硬件基础
  6. SQL优化实战经典案例分析
  7. 微信小程序开发:简单列表界面的实现
  8. 玩客云刷armbian教程(适用于老版)
  9. 菜鸟流程-Touching App(1)- 主界面
  10. C语言指针实现凯撒加密