Fork me on GitHub

SpaceVim

A community-driven vim distribution


Home | About | Documentation | Development | Community | Sponsors


可用模块 » tags

模块简介

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

功能特性

安装及启用模块

GNU Global (gtags)

首先需要安装 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 python-pygments
编译安装

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

tar xvf global-6.5.3.tar.gz
cd global-6.5.3
./configure --with-exuberant-ctags=/usr/bin/ctags
make
sudo make install
配置 pygments 和 ctags 环境

To be able to use pygments and ctags, you need to copy the sample gtags.conf either to /etc/gtags.conf or 如果需要启用 pygments 和 ctags,需要复制示例 gtags.conf 至 /etc/gtags.conf 或者 $HOME/.globalrc。例如:

cp gtags.conf ~/.globalrc

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

echo export GTAGSLABEL=pygments >> .profile

启用模块

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

[[layers]]
  name = "tags"

使用模块

在使用 gtags 之前,建议先新建 GTAGS 数据库,可通过如下两种方式新建数据库:

cd /path/to/project/root
gtags

对于 gtags 不直接支持的语言,并且未 GTAGSLABEL 环境变量,此时可以使用如下命令以达到同样效果:

gtags --gtagslabel=pygments

语言支持

内置的语言支持

如果你不使用 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

Hosted on GitHub, Help improve this page — Theme by mattgraham,