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相关推荐
- vim切换编程语言_把 Vim 打造成源代码编辑器 - C 语言编程透视
前言 程序开发过程中,源代码的编辑主要是为了实现算法,结果则是一些可阅读的.便于检错的.可移植的文本文件.如何产生一份良好的源代码,这不仅需要一些良好的编辑工具,还需要开发人员养成良好的编程修养. L ...
- 强大的,方便编程的vim配置
我想补充一点的是,当这么配置后,配合putty使用的时候,可能直接圈起来不能复制了,因为由vim处理了鼠标事件,为了让xterm处理,需要按shift点鼠标就可以了.这样就可以复制了. 另外,下面这个 ...
- Vi经典插件ctags(转)
来源:http://www.cnblogs.com/lihaozy/archive/2012/08/06/2624909.html (为了提高工作效率,必须学会使用一些工具) . 查看 key 相关信 ...
- ubuntu下vim + ctags + taglist配置和使
ctags安装 ctags可以建立源码树的索引,使程序员在编程时能迅速定位函数.变量.宏定义等位置去查看原形 以下是在ubuntu下ctags的下载安装和配置过程: 下载并安装ctags,终端输入命令 ...
- 一篇特别长的总结(C专家编程)
博客链接: http://codeshold.me/2017/02/expert_c_programming.html 读一本书必输出一篇笔记或者总结!!! <C专家编程>这本书很早看完了 ...
- 【转】使用 vim + ctags + cscope + taglist 阅读源码
原文网址:http://my.oschina.net/u/554995/blog/59927 最近,准备跟学长一起往 linux kernel 的门里瞧瞧里面的世界,虽然我们知道门就在那,但我们还得找 ...
- vim 编程常用的指令和快捷键
文章目录 移动光标 修改.剪切或复制配对符之间的内容 ctags cscope gtags 编译 快速修改窗口 自动补全 多行缩进缩出 折叠 移动光标 命令 说明 gd 跳转到局部变量的定义处 gD ...
- VIM使用系列之一——配置VIM下编程和代码阅读环境
作者:gnuhpc from http://blog.csdn.net/gnuhpc http://gnuhpc.wordpress.com/ 本文环境:ubuntu 10.10/vim7.2 前言 ...
- gvim for php,转 : Gvim建立IDE编程环境 (Windows篇)
说明:本文是作者在完全按照著名的<手把手教你把Vim改装成一个IDE编程环境>一文,在Windows XP上用gvim建立IDE环境时所作的备忘. 原作地址:http://blog.csd ...
最新文章
- 哈希一致性、哈希取余、自定义轮询分片的比较
- 打造高端网站应该具备哪些品质?
- Leetcode1710. 卡车上的最大单元数[C++题解]:贪心
- YOLOv5-LibTorch
- tkmybatis 子查询_dnssearch 子域名枚举工具
- keyshot10 pro for mac最新版
- 探索HTTP传输中gzip压缩的秘密
- mybatis如何防止sql注入
- preventDefault() 方法 取消事件的默认动作
- 从键盘读取数据,回车才能显示的问题
- 《嵌入式系统项目分析入门与实践》 读后感(1)
- jdbc mysql url写法_Springboot项目连接MySql写了一个bug你也可能遇到
- Atitit arch design context软件架构设计的内容 目录 1. 考虑到架构设计原则	1 1.1. 开发效率 稳定性 可靠些等 性能	1 1.2. 简单原则则	1 1.3. 配置
- 随着计算机科学技术和互联网,计算机科学与技术发展趋势的几点思考
- 秋无痕 Windows XPSP3 集成安装增强版 V201306
- 人事管理系统之部门结构树的展示
- 1076: 三位数求解 C语言
- 教你制作启动U盘,用U盘装系统(转载)
- java拼图游戏(未补全)
- 2. 嵌入式Linux系统移植 - 交叉编译工具集