sponsor Vim development Vim logo Vim Book Ad

ttags : Tag list browser (List, filter, preview, jump to tags)

 script karma  Rating 898/231, Downloaded by 4234  Comments, bugs, improvements  Vim wiki

created by
Tom Link
script type
In order to match any kind/rx, use *.
E.g. TTags * * _foo.vim$

    - List tags
    - Filter tags matching a pattern
    - Jump/Preview tags
    - Insert tags (and a template for the argument list if supported by
      tSkeleton (vimscript #1160), which has to be installed for this)

You can use :echo keys(ttags#Kinds())<cr> to find out which kinds are defined.
install details
Edit the vba file and type: >

    :so %

See :help vimball for details. If you have difficulties or use vim 7.0, please make
sure, you have the current version of vimball (vimscript #1502)

This script requires tlib (vimscript #1863) to be installed.

Suggested key maps:

    noremap <Leader>g. :TTags<cr>
    noremap <Leader>g# :call ttags#List(0, "*", tlib#rx#Escape(expand("<cword>")))<cr>
    noremap <Leader>g* :call ttags#List(0, "*", tlib#rx#Escape(expand("<cword>")) .".*")<cr>
    noremap <Leader>g? :call ttags#List(1, "*", tlib#rx#Escape(expand("<cword>")))<cr>
    for c in split('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '\zs')
        exec 'noremap <Leader>g'. c .' :TTags '. c .'<cr>'

Also available via git

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
ttags.vba.gz 0.6 2009-10-11 7.0 Tom Link - Use pathshorten()
- Require tlib >= 0.21
- FIX: Use ListW()
- Make sure tlib is loaded even if it is installed in a different rtp-directory.
- temporarily set nomagic when running the tag command
- Show tags in the current file: TTags * * .
ttags.vba.gz 0.5 2007-11-12 7.0 Tom Link - More compact view of tags (via |g:tlib_tag_substitute|)
- When previewing tags, restore the original position when closing the tags list
- g:ttags_match_front, g:ttags_match_end
- Require tlib >= 0.20
ttags.vba.gz 0.4 2007-11-05 7.0 Tom Link - New: ttags#Select() that matches any field
- New: TTagselect command that takes a key list as argument to match any
- New: [wbg]:ttags_constraints configuration variable (a dictionary with
- If the commands TTags and TTagselect are called with [!],
g:tlib_tags_extra is used to temporarily scan additional tag files.
- If a variable [bg]:ttags_rewrite is defined, it is used as function
name to rewrite tag filesname (eg to prevent name incompatibilities
between cygwin ctag & windows vim).
- "[wbg]:ttags_tags_rx" was renamed to "[wbg]:ttags_name_rx"
- "[wbg]:ttags_file_rx" was renamed to "[wbg]:ttags_filename_rx"
- g:ttags_display: Alternatively use "locations" or "quickfix" lists to
display the tags (default: "tlib").
- Require tlib 0.19
- Previously, all tags were retrieved and filtered only later on. The
idea was to save time by caching the tags information. Now the initial
filtering by name is done by |taglist()| right away, which seems faster.
ttags.vba.gz 0.3 2007-09-29 7.0 Tom Link - Configuration via [wbg]:ttags_kinds, [wbg]:ttags_tags_rx,
[wbg]:ttags_file_rx variables
- The list includes the kind identifier and the entries are highlighted
(see g:ttags_highlighting)
- If tSkeleton (vimscript #1160) is installed and if g:tskelTypes
contains "tags", <c-t> will insert the tag in the buffer including (if
supported by tSkeleton for the current filetype) a template for the
argument list.
- g:ttags_world can be a normal dictionary (use tlib#input#ListD instead
of #ListW)
- Require tlib 0.14
ttags.vba.gz 0.2 2007-09-11 7.0 Tom Link - The kind argument was introduced (i.e. the argument list has changed)
- * was defined as "match any".
ttags.vba.gz 0.1 2007-09-11 7.0 Tom Link Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.