SpaceVim
A modular Vim/Neovim configuration
Home | About | Quick start guide | Documentation | Development | Community | Sponsors | 中文
gtags
layer provides tags manager for SpaceVim,
this layer can be used to generate and update tags database automatically.
To use gtags
layer, you first have to install GNU Global.
You can install global from the software repository of your OS or build it from source.
Install on Ubuntu:
sudo apt-get install global
Install on OSX using Homebrew:
brew install global
Install on windows using scoop:
scoop install global
Build from source:
To take full advantage of global you should install 2 extra packages in addition to global: pygments and ctags (exuberant).
Download the latest tar.gz archive, then run these commands:
tar xvf global-6.5.3.tar.gz
cd global-6.5.3
./configure --with-exuberant-ctags=/usr/bin/ctags
make
sudo make install
gtags layer provides the following options:
gtagslabel
: the backend of gtags command, you can use ctags
or pygments
. It is empty string by default.
for example, to use pygments as backend:
[[layers]]
name = "gtags"
gtagslabel = "pygments"
auto_update
: Update gtags/ctags database automatically when save a file. Default is true
.tags_cache_dir
: Setting the cache directory of tags. The default value is ~/.cache/SpaceVim/tags/
ctags_bin
: Setting the command or path of ctags. Default is ctags
.If you do not have ctags
or pygments
enabled gtags will only produce tags for the following languages:
If you have enabled exuberant ctags
and use that as the backend
the following additional languages will have tags created for them:
Instead, If you have installed the newer/beta universal ctags and use that as the backend the following additional languages will have tags created for them:
In order to look up symbol references for any language not in the built-in parser, you must use the pygments backend. When this backend is used, global actually uses both ctags and pygments to find the definitions and uses of functions and variables as well as “other symbols”.
If you enabled pygments (the best choice) and use that as the backend the following additional languages will have tags created for them:
Key Binding | Description |
---|---|
SPC m g c |
create a tag database |
SPC m g u |
manually update tag database |
SPC m g f |
jump to a file in tag database |
SPC m g d |
find definitions |
SPC m g r |
find references |
SPC m g j |
input a symbol and find definitions |
Powered by Jekyll