GuidesExuberant-Ctags with Vim or Emac

Exuberant-Ctags with Vim or Emac

ServerWatch content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

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.

Tip of the Trade: With exuberant-ctags you can take advantage of any IDE’s source code navigation features — without ever leaving the comfort zone of 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

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

Get the Free Newsletter!

Subscribe to Daily Tech Insider for top news, trends & analysis

Latest Posts

Related Stories