ctags(1) General Commands Manual ctags(1)
Name
ctags - create a tags file
Syntax
ctags [options] name...
Description
The command makes a tags file for from the specified C, Pascal and Fortran sources.
A tags file gives the locations of specified objects (in this case functions and typedefs) in a group of files. Each line of the tags file
contains the object name, the file in which it is defined, and an address specification for the object definition. Functions are searched
with a pattern, typedefs with a line number. Specifiers are given in separate fields on the line, separated by blanks or tabs.
Using the tags file, can quickly find these objects definitions.
If the -x flag is given, writes to standard output a list containing each object name, its line number, the file name in which it is
defined, and the text of the line. This list is a simple index which can be printed out as an off-line readable function index.
Options
-a Appends information to an existing tags file.
-B Uses backward search patterns (?...?).
-F Uses forward search patterns (/.../) (default).
-t Creates typedef tags.
-u Updates the specified tags file. All references to tags are deleted, and the new values are appended to the file.
Note that this option is implemented in a way which is rather slow. It is usually faster to simply rebuild the tags
file.)
The tag main is treated specially in C programs. The tag formed is created by prepending M to the name of the file,
with a trailing .c removed, if any, and leading pathname components also removed. This makes use of practical in
directories with more than one program.
-v Generates an index listing function name, file name, and pages number. Since the output will be sorted into lexico-
graphic order, it may be desired to run the output through sort -f. For example,
ctags -v files | sort -f > index
Files whose name ends in .c or .h are assumed to be C source files and are searched for C routine and macro defini-
tions. Others are first examined to see if they contain any Pascal or Fortran routine definitions; if not, they are
processed again looking for C definitions.
-w Suppresses warning diagnostics and generates a listing file. This list contains each object name, its line number, the
file name in which it is defined, and the text of the line, and is identical to the list produced when no options are
given.
-x Writes to standard output a list containing each object name, its line number, the file name in whcih it is defined,
and the text of the line.
Restrictions
Recognition of functions, subroutines and procedures for FORTRAN and Pascal do not deal with block structure. Therefore you cannot have
two Pascal procedures in different blocks with the same name.
Does not know about #ifdefs.
Does not know about Pascal types. Relies on the input being well formed to detect typedefs. Use of -tx shows only the last line of type-
defs.
Files
tags output tags file
See Also
ex(1), vi(1)
ctags(1)