SpaceVim

一个模块化的 Vim/Neovim 配置集合


主页 | 关于我们 | 入门指南 | 使用文档 | 开发指南 | 用户社区 | 赞助 | English


可用模块 » gtags

模块简介

tags 模块提供了项目 tags 管理工具,依赖 SpaceVim 自身的项目管理特性。

功能特性

安装及启用模块

GNU Global

首先需要安装 GNU Global,可根据当前使用的操作系统, 使用自带的软件包管理工具安装。

sudo apt-get install global

OSX 下使用 homebrew 安装

brew install global --with-pygments --with-ctags

如果需要启用 global 的所有特性,你需要安装 2 个额外的软件包:pygments 和 ctags。 这两个可以使用系统自带的包管理器安装:

Ubuntu

sudo apt-get install exuberant-ctags python-pygments

ArchLinux

sudo pacman -S ctags global python-pygments

编译安装

下载最新的 tar.gz 文件,执行如下命令:

tar xvf global-6.5.5.tar.gz
cd global-6.5.5
./configure --with-exuberant-ctags=/usr/bin/ctags
make
sudo make install

如果需要启用 pygments 和 ctags,需要复制示例 gtags.conf.in 至 /etc/gtags.conf 或者 $HOME/.globalrc。例如:

cp gtags.conf.in ~/.globalrc

此外,启动 shell 时需要设置环境变量 GTAGSLABEL,通常需要修改 .profile 文件。

echo export GTAGSLABEL=pygments >> .profile

启用模块

可在配置文件添加如下内容来启用该模块。

[[layers]]
  name = "tags"

模块设置

gtags 模块提供了以下模块选项:

例如,使用 pygments 作为后台:

[[layers]]
  name = "gtags"
  gtagslabel = "pygments"

使用模块

在使用 gtags 之前,建议先使用快捷键 SPC m g c 新建 GTAGS 数据库, 这一数据库也会在保存文件时自动更新。

语言支持

内置的语言支持

如果你不使用 ctags 或者 pygments,gtags 默认将只支持如下语言:

通过 exuberant ctags 支持的语言

如果你启用了 exuberant ctags,并且使用其作为后台(i.e., GTAGSLABEL=ctags or–gtagslabel=ctags),那么如下的语言将也得到支持:

通过 Universal ctags 支持的语言

作为 exuberant ctags 的替代,如果你启用 Universal ctags,除了上述语言以外,将还可以支持如下语言:

通过 Pygments 支持的语言

为了查找更多语言 symbol 的引用,而不仅仅时内置的语言分析器,你需要使用 pygments 作为后端,当启用 pygments 后,可以通过 gtags 查询函数和变量的定义以及引用处。

当 pygments 启用后,如下语言将得以支持:

快捷键

快捷键 功能描述
SPC m g c 新建 tag 数据库
SPC m g u 手动更新 tag 数据库
SPC m g f 列出数据库中所涉及到的文件
SPC m g d 查找 definitions
SPC m g r 查找 references
SPC m g j 输入符号并查找其定义

由Jekyll强力驱动