Create a list of function and macro names defined in a programming source file. More than one file may be specified. ctags understands many programming languages, including C, C++, FORTRAN, Java, Perl, Python, flex, yacc, and bison. 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:
This switches the vi editor to the source file associated with the name listed in tagsfile (which you specify with -t).
etags produces an equivalent file for tags to be used with Emacs.
Append tag output to existing list of tags.
Create tag files for use with emacs.
Interpret files with filename extensions specified in extensionlist as header files. The default list is ".h.H.hh.hpp.hxx.h++.inc.def". To indicate that files without extensions should be treated as header files, insert an additional period in the list before another period or at the end of the list, or use just a period by itself. To use this option multiple times and have the specified lists ANDed together, use a plus sign as the first character in the list. To restore the default, use the word "default".
Use numeric ex commands to locate tags. Same as --excmd= number.
-ofile, -ffile, --output=file
Write to file.
Include tag entries for members of structure-like constructs.
Recursively read files in subdirectories of the directory given on the command line.
Don't sort tag entries.
Produce a tabular listing of each function, and its line number, source file, and context.
Search for tags backward through files.
Specify a list of tokens to be specially handled. If tokenlist is given as a file, use ex pattern commands to locate tags. Same as --excmd=pattern.
Use ex pattern commands to locate tags. Same as --excmd= pattern.
Normally ctags uses indentation to parse the tag file; this option tells ctags to rely on indentation less.
Include tag entries for typedefs, structs, enums, unions, and C++ member functions.