GuidesExuberant-Ctags with Vim or Emac

Exuberant-Ctags with Vim or Emac

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

Latest Posts

Related Stories