ctags 基本使用方法
ctags 基本使用方法
简介
ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有 Vim。并且 Vim 中已经默认安装了 ctags,它可以帮助程序员很容易地浏览源代码。
ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags, 有些语言也有专有的tags生成工具(比如java的jtags, python的 ptags)。ctags 支持的语言可以通过这个网站查看,目前共41种,基本上主流的 C/C++、Java、Python、C#、JavaScript、MATLAB、Assembler 等语言都是支持的。
安装
ubuntu (debian) 直接安装
Ubuntu系统(Debian),可以直 apt 接安装:
sudo apt-get install ctags
源码编译安装
到 ctags 官网下载源码,解压安装:
tar -xzvf ctags-5.8.tar.gz
cd ctags-5.8/
./configure
make
sudo make install
安装检验
安装完成后执行命令:
ctags --version
若正常输出类似以下的版本信息,则安装成功:
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren HiebertCompiled: Dec 14 2021, 22:52:05Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.netOptional compiled features: +wildcards, +regex
使用
RTFM:man ctags
生成索引文件
在源码目录下执行
ctags –R .
-R
表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。.
表示当前目录,结合起来就是当前目录及所有子目录下文件。这条命令会在当前目录下产生一个 tags
文件,当用户在当前目录中运行vi时,会自动载入此tags文件。Tags文件中包括这些对象的列表:
- 用 #define 定义的宏枚举型变量的值函数的定义
- 原型和声明名字空间(namespace)
- 类型定义(typedefs)
- 变量(包括定义和声明)
- 类(class)
- 结构体(struct)
- 枚举类型(enum)
- 联合体(union)
类、结构和联合中成员变量或函数 Vim 用这个 tags
文件来定位上面这些做了标记的对象。
配置
使用 sudo vim /etc/vim/vimrc
编辑vim的配置文档,在其中加入如下命令:
set tags=/home/zhouyl/linux-3.4.7/tags;
后面的路径是使用 ctags -R .
后生成的tags文件所在目录,如果需要配置多个 tags,只需如下再添加即可
set tags=/home/zhouyl/rap/libpcap-1.3.0/tags;
set autochdir
注意:运行vim的时候,必须在“tags”文件所在的目录下运行。如果要在该目录的子目录下使用 ctags,可在 Vim 配置文件中再加入:
set tags=./tags;,tags
常用命令
ctags 最常用的命令:
ctags –R .
上面介绍过了,不再赘述Ctrl+ ]
跳到光标所在变量的定义处Ctrl+ t
返回查找或跳转,从哪里跳过来的跳回哪里,即使用了很多次Ctrl+]
,该命令也会回到最初一次的位置vi –t tag
找到名为 tag 的变量的定义处g]
列出变量的所有引用供用户选择:ts
tagslist,同g]
:tp
tagspreview,上一个tag标记文件:tn
tagsnext),下一个tag标记文件
以上 :
是 Vim 中从正常模式切换到底行命令模式。在完成编码后,可以直接删掉tags文件。
https://baike.baidu.com/item/ctags/3470337?fr=aladdin
https://www.bilibili.com/video/BV1PL411M7bg?from=search&seid=12655157522675339145&spm_id_from=333.337.0.0
ctags 基本使用方法相关推荐
- sublime text2 用ctags插件实现方法定位(转)
来源:http://www.cnblogs.com/qq78292959/p/3811467.html 我们用sublime几乎都会首先安装这个插件,这个插件是管理插件的功能,先安装它,再安装其他插件 ...
- linux中ctags的使用方法
tags文件(标签文件)是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, ...
- Vim+ctags+cscope+Nerdtree+Taglist入门
介于linux下并没有什么像Source Insight这样优秀的内核源码阅读工具,只有一些模仿的都不伦不类,所以我用打造vim为一个合格的源码阅读器,看着贼爽. 可能一下子看起来那么多东西可能怕怕的 ...
- Windows10下用vim+ctags+cscope搭建属于自己的IDE
工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.估计大家经常用的IDE工具如SourceInsight,Notepad++,VScode等等.SourceInsight属于收费软件,其 ...
- sublime python配置_sublime python环境配置
1.安装sublime,安装版.免安装版均可 2.打开sublimeText 在菜单栏找到Tools-->编译系统-->新编译系统 在新的配置文件中输入如下配置 { "cmd&q ...
- sublime Text 开发工具
简介描述 Sublime Text 是一个跨平台的编辑器,同时支持Windows.Linux.Mac OS X等操作系统.,具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等 ...
- 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群
作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...
- Java面试题大全2021版
一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...
- vim ctags使用方法
一.用好系统自带软件ctags 大部分的unix系统都有ctags软件,它能跟vim很好地合作. 用途: 生成c语言的标签文件,实现相关c文件之间的跳转. 用法: 1.生成标签文件 在当前目录下(运行 ...
最新文章
- Vivado中使用逻辑分析仪ILA
- python dll 变量
- ajax 获取服务器返回的XML字符串
- Python语言学习之字母G开头函数使用集锦:global用法之详细攻略
- 车已经买有近一个月了,技术也在提升中
- SQL查询过滤Where子句用法
- 计算机硬件系统都是看得见的,计算机组成硬件系统).doc
- python import io_Python——python3的io读写
- bzoj3083 遥远的国度
- python tree 库_Python——tree
- linux vim 删除 h,Linux VIM 的使用快捷键之删除, 复制, 粘贴
- c语言RePutDate用法,C语言 栈的使用
- 高级售前客户服务专员题库
- bat脚本重启tomcat
- SYN6288语音合成模块
- Eplan绘图软件:西门子S7-1500部件
- 航空公司系统是怎样炼成的
- SEO培训联盟排名掉的原因:宋星博客?
- β阶段第一周版本控制报告
- ipad iphone开发_如何在iPhone或iPad上恢复已删除的照片
热门文章
- 使用dubbo后尽量不用要@Reference可能引起冲突
- Zookeeper UI管理界面安装
- zookeeper开机自启动
- 第九篇:Spring Boot整合Spring Data JPA_入门试炼01
- 状态输出导航栏html,css3与html5实现响应式导航菜单(导航栏)效果分享
- linux删除磁盘后刷新,linux – 短暂的文件是否刷新到磁盘?
- javaee 中文帮助文档_大牛耗时三天整理的:微服务+Nginx+Kubernetes实战文档和面试题...
- C语言 fopen 函数 - C语言零基础入门教程
- C语言 assert 函数 - C语言零基础入门教程
- linux查看redis内存,Linux查看redis占用内存的方法