SpaceVim
tags 模块提供了项目 tags 管理工具,依赖 SpaceVim 自身的项目管理特性。
首先需要安装 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 模块提供了以下模块选项:
gtagslabel
: 设置 gtags 命令所使用的后台工具,可以选择 ctags
或者 pygments
,默认是空。例如,使用 pygments 作为后台:
[[layers]]
name = "gtags"
gtagslabel = "pygments"
在使用 gtags 之前,建议先使用快捷键 SPC m g c
新建 GTAGS 数据库,
这一数据库也会在保存文件时自动更新。
如果你不使用 ctags
或者 pygments
,gtags 默认将只支持如下语言:
如果你启用了 exuberant ctags
,并且使用其作为后台(i.e., GTAGSLABEL=ctags or–gtagslabel=ctags),那么如下的语言将也得到支持:
作为 exuberant ctags
的替代,如果你启用 Universal ctags
,除了上述语言以外,将还可以支持如下语言:
为了查找更多语言 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强力驱动