IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ctags 基本使用方法 -> 正文阅读

[系统运维]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 Hiebert
  Compiled: Dec 14 2021, 22:52:05
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional 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 最常用的命令:

  1. ctags –R . 上面介绍过了,不再赘述
  2. Ctrl+ ] 跳到光标所在变量的定义处
  3. Ctrl+ t 返回查找或跳转,从哪里跳过来的跳回哪里,即使用了很多次 Ctrl+],该命令也会回到最初一次的位置
  4. vi –t tag 找到名为 tag 的变量的定义处
  5. g] 列出变量的所有引用供用户选择
  6. :ts tagslist,同 g]
  7. :tp tagspreview,上一个tag标记文件
  8. :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

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:43:00  更:2021-12-15 18:43:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:53:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码