spacemacs 使用gtags 阅读源码

前言

平时在写代码和阅读代码的时候,一个优秀的代码间跳转的工具是必不可少的。
下面就来介绍一下gtags这个神器。

常用的补全tag

  • ctags -> vim原生tag
  • etags -> emacs原生tag
  • gtags ->GNU 的项目,功能最为强大

如果想更多了解一下它们的区别可以看一下这个帖子

https://emacs-china.org/t/ctags-gtags/1756

安装

使用包管理器安装global 这个包。

Arch 上的命令是

pacman -S global

安装完成后,只支持 asm,c,c++ 等少数几个语言。

再安装这两个包就可以支持所有语言和全部功能了。

pacman -S ctags python-pygments

配置

配置很简单

直接在spacmacs layer 里加这么一行,默认启动 gtags

(gtags :variables gtags-enable-by-default t)

使用

首先进入到项目根目录
终端下直接输入 gtags 或者 dired mode 下 按 SPC g c 创建 gtags
g刷新后,可以看到多了GPATH,GRATAGS,GTAGS这三个文件。
这三个gtags索引文件

这样就能顺利的使用gtags来跳转代码了。

常用命令

我把SPC设 为 , 键

CommandDefault Key BindingFunction
Helm-gtags-create-tags, g c在当前目录下创建gtags
Helm-gtags-select-path, m g f当前项目查找文件
Jump-to-definition, g g跳转定义
Helm-gtags-dwim-other-windows, g G跳转定义(开新窗口)
Helm-gtags-find-tag, g d跳转标签
Helm-gtags-find-tag-other-window, g D跳转标签(开新窗口)
Helm-gtags-find-rtag, g r查找引用
Helm-gtags-update-tags, g u更新gtags

最后附上官方教程
https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Btags/gtags
在emacs 中输入 SPC h SPACE RET gtags 也可以查看

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值