Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
ctags [options]files
Create a list of function and macro names that are defined in the specified C, Pascal, FORTRAN, yacc, or lex source files. Solaris ctags can also process C++ source files. The output list (named tags by default) contains lines of the form:
name file context
where name is the function or macro name, file is the source file in which name is defined, and context is a search pattern that shows the line of code containing name. After the list of tags is created, you can invoke vi on any file and type:
:set tags=tagsfile
:tagnameThis switches the vi editor to the source file associated with the name listed in tagsfile (which you specify with -f).
GNU/Linux systems often ship with the Exuberant ctags (see http://ctags.sourceforge.net). That version also understands C++, Java, Perl, Python, flex, and bison. The Exuberant ctags accepts many more options not listed here, see ctags(1) for more information. Of particular note is the -e option, which creates tag files usable with Emacs.