ctags安装与使用

ctags安装与使用

一.ctags是什么
ctags工具是用来遍历源代码文件生成的tags文件,而这些tags文件被编辑器如vim用来快速查找定位源代码中的符号(tag/symbol),包含变量名,函数名等。

二.如何安装ctags
1.在线安装ctags工具

sudo apt-get install exuberant-ctags

2.vim配置ctags插件脚本,并运行

#! /bin/bash

TAGS="set tags+=/usr/include/tags"
MAP="map <F9> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>"
JUMP="nmap <c-]> g<c-]>"

for var in "$MAP" "$TAGS" "$JUMP"
do
    ret=`grep "$var" ~/.vimrc | wc -l`
    if [ $ret -eq 0 ]
    then
        echo "$var" >> ~/.vimrc
    fi
done

ls -lh /usr/include/tags 2> /dev/null
if [ $? -ne 0 ]
then
    cd /usr/include/
    sudo ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 2> /dev/null
fi

三.使用ctags定位符号
1.搜索需要查询的结构体或函数名
vi -t tag(搜索结构体名或函数名)
如:vi -t FILE
vi -t EIO
vi -t signal
以vi -t FILE查询结构体为例

2.ctrl+]组合键进入子级结构体查找
在这里插入图片描述
成功找到FILE结构体的系统定义
在这里插入图片描述
3.ctrl+t 返回上一层

四.如何在自己的源码目录下添加ctags
1.直接在源码目录下执行
ctags -R .
“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。Tags文件中包括这些对象的列表:用#define定义的宏枚举型变量的值函数的定义、原型和声明名字空间(namespace)类型定义(typedefs)变量(包括定义和声明)类(class)、结构(struct)、枚举类型(enum)和联合(union)类、结构和联合中成员变量或函数VIM用这个“tags”文件来定位上面这些做了标记的对象。
在这里插入图片描述
查看生成的ctags文件
在这里插入图片描述
自此,我们可以通过vi -t tag名来快速定位函数名和结构体定义等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值