Gnu global

From wikinotes

gnu global behaves similarly to ctags/cscope. It scans your source code directory, and enables you to jump between files and discover where functions/classes were called.

Documentation

official docs https://www.gnu.org/software/global/
enabling pygments plugin https://fossies.org/linux/global/plugin-factory/PLUGIN_HOWTO.pygments

Install

pacaur -S global
sudo pip install pygments

Usage

Commandline

cd /your/src

# enable pygments plugin
export GTAGSCONF=/usr/share/gtags/gtags.conf
export GTAGSLABEL=pygments

# generate tags database
gtags
global -x <searchword>   # tabcomplete search
global -rx <searchword>  # search references

Vim

I did not need to install a plugin for gtags within vim.

:Gtags SemanticV..  " TabComplete tags
:GtagsCursor        " Show References of word under cursor