June 20, 2018

Turn Vim or Emacs Into and IDE With Exuberant-Ctags

exuberant-ctags for Fast Source Code Navigation

  • August 21, 2009
  • By Juliet Kemp

Juliet Kemp

IDEs can be useful when you're coding; however, you may, like me, have a preference for an editor you already know. The exuberant-ctags package offers some of the source code navigation features of an IDE within Emacs or Vim.

The major advantage of exuberant-ctags over the older versions of ctags (for vi(m)) and etags (for Emacs) is that it has a recurse option:

ctags -R

To generate Emacs-compatible tagfiles, use:

ctags -e -R

Type ctags --list-languages for a list of supported languages.

Your tags are stored in either a TAGS (Emacs) or tags (Vim) file. To use the tags in Vim once they've been generated, fire up one of your source files in Vim (or use vim -t tagname to start at a particular tagname), and use :ta tagname to jump to a tagname, or Ctrl-' to jump to the tag under the cursor. Ctrl-T will return you to where you were before.

With Emacs, use M-. tagname to jump to the tag (M-. will jump to the tag under the cursor), and M-* to return. C-U M-. will keep scrolling round through tag definitions if there's more than one of them.

For Vim, you can also try the taglist.vim plugin, which will give you a tag overview side panel. For autocompletion of tag names, try Ctrl-P (this will also autocomplete other words in the file), providing another IDE-type feature.

IDEs do have their uses, but editors can be faster under the fingers and easier to run on slower machines; exuberant-ctags is useful to speed up your coding within your preferred editor.

Follow ServerWatch on Twitter

Article courtesy of ServerWatch

Most Popular LinuxPlanet Stories

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.