April 19, 2014

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

Sitemap | Contact Us