SpaceVim
A community-driven vim distribution
Home | About | Documentation | Development | Community | Sponsors
This layer provide tags manager for project. This layer need core
layer’s project manager feature.
To use gtags, you first have to install GNU Global.
You can install global from the software repository of your OS; however, many OS distributions are out of date, and you will probably be missing support for pygments and exuberant ctags, and thus support for many languages. We recommend installing from source. If not for example to install on Ubuntu:
sudo apt-get install global
brew install global --with-pygments --with-ctags
To take full advantage of global you should install 2 extra packages in addition to global: pygments and ctags (exuberant). You can do this using your normal OS package manager, e.g., on Ubuntu
sudo apt-get install exuberant-ctags python-pygments
or e.g., Archlinux:
sudo pacman -S ctags python-pygments
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
To be able to use pygments and ctags, you need to copy the sample gtags.conf either to /etc/gtags.conf or $HOME/.globalrc. For example:
cp gtags.conf ~/.globalrc
Additionally you should define GTAGSLABEL in your shell startup file e.g. with sh/ksh:
echo export GTAGSLABEL=pygments >> .profile
To use this configuration layer, update custom configuration file with:
[[layers]]
name = "tags"
Before using the gtags, remember to create a GTAGS database by the following methods:
SPC m g c
to generate GTAGS database. If the language is not directly supported by GNU Global, you can choose ctags or pygments as a backend to generate tag database.cd /path/to/project/root
gtags
If the language is not directly supported by gtags, and you have not set the GTAGSLABEL environment variable, use this command instead:
gtags --gtagslabel=pygments
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 (i.e., GTAGSLABEL=ctags or –gtagslabel=ctags) 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 (i.e., GTAGSLABEL=ctags or –gtagslabel=ctags) 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 (i.e., GTAGSLABEL=pygments or –gtagslabel=pygments) 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 |
Hosted on GitHub, Help improve this page — Theme by mattgraham,