Created: 2008-07-17 23:20
Updated: 2016-05-08 10:49


TM Ctags

Ctags code completion and navigation for TextMate.

Update Project Tags


Builds or updates the tag index in the root directory of your project. This is a prerequisite to running any of the other commands in this bundle and should be run as your project changes.

This command will only work with a project or directory open in TextMate.

Jump to Current Tag


Jumps to the file and line where the tag under the cursor is defined.

Complete Tag

⌘< (⌘⇧,)

Provides completions for the current word—including method/function arguments—pulling from the functions, methods, and classes defined in your project.

Jump to Tag...


Prompts for a tag (or the start of a tag) and jumps to the file and line where that tag is defined.

Shell Variables (advanced)


You can now exploit tags in another project by pointing the TM_CTAGS_EXT_LIB project variable at another project root with a .tmtags file. Thanks to seanfarley for this contribution.


Space-delimited list of files or directories you don't want tagged. Shell wildcards work. (.git, .svn, and .cvs are already excluded.) For example:

.hg *.js


Space-delimited list of files you do want tagged. TM_CTAGS_EXCLUDES is ignored if you use TM_CTAGS_INCLUDES.

Update: These now use the same format as TM_CTAGS_EXCLUDES, not extended regexp format. Shell wildcards work.


Have your own ctags configuration? Save it to a file and point this shell variable at it. (Maps to --options.) Excludes and includes are ignored if you specify your own options.

(There are a few options required for proper functionality of this bundle which will be added to the argument list you provide.)


Only 300 matching results are displayed by default. Use this setting to override this value.

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more