sponsor Vim development Vim logo Vim Book Ad

taglist.vim : Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)

 script karma  Rating 14472/4919, Downloaded by 348989  Comments, bugs, improvements  Vim wiki

created by
Yegappan Lakshmanan
script type
The "Tag List" plugin is a source code browser plugin for Vim and
provides an overview of the structure of source code files and allows
you to efficiently browse through source code files for different
programming languages.

The Github repository for the taglist plugin is available at:


You can visit the taglist plugin home page for more information:


You can subscribe to the taglist mailing list to post your questions
or suggestions for improvement or to report bugs. Visit the following
page for subscribing to the mailing list:


For more information about using this plugin, after installing the
taglist plugin, use the ":help taglist" command.
install details
1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the
    $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
    have the following two files (the directory structure should be preserved):

         plugin/taglist.vim - main taglist plugin file
         doc/taglist.txt    - documentation (help) file

   Refer to the |add-plugin|, |add-global-plugin| and |runtimepath| Vim
   help pages for more details about installing Vim plugins.
2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc
    directory, start Vim and run the ":helptags ." command to process the
    taglist help file. Without this step, you cannot jump to the taglist help
3. If the exuberant ctags utility is not present in your PATH, then set the
    Tlist_Ctags_Cmd variable to point to the location of the exuberant ctags
    utility (not to the directory) in the .vimrc file.
4. If you are running a terminal/console version of Vim and the terminal
    doesn't support changing the window width then set the
    'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
5. Restart Vim.
6. You can now use the ":TlistToggle" command to open/close the taglist
    window. You can use the ":help taglist" command to get more information
    about using the taglist plugin.

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
taglist_46.zip 4.6 2013-02-27 6.0 Yegappan Lakshmanan 1. Fixed a bug in refreshing the folds in the taglist window when switching between Vim tabs with Tlist_Show_One_File enabled.
2. Update the TlistShowTag command output to display the tag scope.
3. Preserve the alternate file when opening the taglist window.
4. Restore the 'cpo' option value properly when the loading of the plugin is stopped.
5. When the plugin is recursively sourced, don't change the 'cpo' setting to the default value.
6. If a filetype contains multiple file types separated by a dot, then use the first file type.
7. When displaying tag prototypes, trim the output to fit the window width.
8. Add support for some more languages.
9. Disable the 'relativenumber' option for the taglist window.
10. On MS-Windows, use writefile() to generate the temporary batch file instead of the redir command. This fixes a problem in using the generated batch file in multi-byte encoding environments.
taglist_45.zip 4.5 2007-09-21 6.0 Yegappan Lakshmanan Fix an extra space in the check for exctags. Refresh the taglist window
folds after entering a tab. Escape special characters like backslash in
the tag name when saving a session file. Add an internal function to get
and detect file types.
taglist_44.zip 4.4 2007-05-25 6.0 Yegappan Lakshmanan The following fixes are made in this release:
1. If multiple Vim plugins register for the BufEnter autocmd, then sometimes
    the buffer name supplied to the autocmd is incorrect. Use the buffer number
    instead of buffer name in the BufEnter autocmd.
2. Add the filename to the tags menu only for valid file names.
taglist_43.zip 4.3 2007-02-22 6.0 Yegappan Lakshmanan 1. Added support for jumping to a tag/file in a new or existing tab
   from the taglist window (works only with Vim7 and above).
2. Added support for opening a tag in the previous window.
3. With the Tlist_File_Fold_Auto_Close variable set, when opening a
   file from the file explorer window, the folds in the taglist window
   are not closed correctly.  Fixed this problem.
taglist_42.zip 4.2 2006-11-14 6.0 Yegappan Lakshmanan 1. After opening a file with no tags defined in it with the
   Tlist_Compact_Format option set, if the tags are updated, the folds
   used for the files following the empty tags file are affected.
2. On MS-Windows, use a "taglist.cmd" temporary file to run exuberant
   ctags. This is to handle space characters in the file names and
   in the exuberant ctags path name.
3. In the taglist window, when a file is re-sorted or updated open the
   fold for the file.
4. When the 'shellxquote' option is set to double quotes, escape
   double quotes in the command executed for exuberant ctags.
5. On FreeBSD, exuberant ctags is installed as exctags, look for
   exctags in the PATH.
6. If two taglist plugins are present (one in the system Vim directory
   and another in the user's .vim/plugin directory), then the plugin
   in the users's .vim directory overrides the version in the system
   vim directory.
7. When the :TlistMessages command is issued display the debug
   messages in a taglist.txt buffer.
8. Clear the readonly option for the taglist buffer
9. When opening a selected file, don't use the preview window, if
taglist_41.zip 4.1 2006-09-10 6.0 Yegappan Lakshmanan When the Tlist_File_Fold_Auto_Close variable is set to 1, jumping to the taglist window closes all the folds. Modified the plugin to not close the fold for the currently active file. When the TlistLock and TlistUnlock commands are invoked, an error message is displayed. This problem is fixed.
taglist_40.zip 4.0 2006-09-06 6.0 Yegappan Lakshmanan Fixes:
Fix the problems in using the taglist plugin with Vim7 tabs. When
Tlist_File_Fold_Auto_Close is set, close the tag fold when leaving a
buffer.  When jumping to a selected tag, if the file is opened in more
than one window, use the previous window from which the user entered
the taglist window.
New features:
Support for displaying the tag prototype as a tooltip.  Support for
specifying additional commands after the taglist commands using the
bar separator.
taglist_40b4.zip 4.0b4 2006-04-12 6.0 Yegappan Lakshmanan Fixes:
1. When 'Tlist_Show_One_File' is set, after few files are opened,
   unable to select tags from the taglist window.
2. When the taglist plugin is stored in a directory with space characters
   in the name, the autoloading of taglist plugin fails.
New features:
1. Support for moving cursor to the taglist window when using the
   ":TlistToggle" command.
2. When all the tags in a file are of the same type, in the taglist
   menu, don't display the tag type.
3. Changed the '?' help key to 'F1' in the taglist window.
4. Set the filetype for the taglist buffer to 'taglist'
5. In Vim7, set the 'winfixwidth' option for the taglist window.
6. When jumping between files using the ]] or <Tab> and [[ or <Backspace>
   keys, wrap around at the first and last file.
taglist_40b3.zip 4.0b3 2005-12-28 6.0 Yegappan Lakshmanan The following changes are made in this version:

1. Delay loading of the taglist plugin to reduce the Vim startup time.
2. Support for recursively adding multiples files to the taglist using the
   ':TlistAddFilesRecursive' command.
3. New ':TlistOpen' command to open and jump to the taglist window.
4. New ':TlistToggle' command to supersede the ':Tlist' command.
5. New 'Tlist_Close_On_Select' option for closing the taglist window
   when a file is selected.
6. New 'Tlist_Auto_Update' option to enable/disable processing of newly
   edited files.
7. New ':TlistLock' and ':TlistUnlock' commands to lock and unlock the
8. New 'Tlist_Highlight_Tag_On_BufEnter' option to enable/disable
   highlighting of the current tag on entering a buffer.
9. When the taglist buffer is created from a Vim session file, update
   the taglist with the files from the session file.
10. Change the background color used for highlighting file names in the
    taglist window.
11. When <Space> is pressed on a file name or a tag type name in the
    taglist window, display information about the number of tags.
12. Set the 'foldlevel' option to a high value in the taglist window.
13. When refreshing the taglist window, process all the opened buffers.
14. When moving between windows, disable and enable autocommands.
15. When a file is selected from the taglist window, use a non-plugin
    window to edit the file.
16. If 'Tlist_Exit_OnlyWindow' is set and when exiting Vim, make sure
    the '0 mark is set to the previous buffer.
17. When using the taglist plugin with the winmanager plugin and
    'Tlist_Process_File_Always' is set or the taglist menu is enabled,
    sometimes, it is not possible to jump to other windows from the
    taglist window using the keyboard. Fixed this problem.
18. While opening files in a new window, use filenames instead of buffer
taglist_40b2.zip 4.0b2 2005-08-01 6.0 Yegappan Lakshmanan 1. Added the TlistAddFiles command to add multiple files to the taglist window without opening them.
2. Maintain the taglist window width and height across Vim window layout changes.
3. Restore the Vim window location after the taglist window is closed.
4. Use a simpler regular expression for parsing tags output.
5. When a closed fold is selected in the taglist window, open the fold and jump to the file.
6. When the Tlist_Auto_Open variable is set, open the taglist window only when a supported type of file is opened.
7. When displaying tags for a single file, center the current tag line when opening a file.
8. When jumping to a tag, add the previous location to the jump list.
9. Fixed a problem with recording timestamps in the debug messages on MS-Windows.
10. Set the ' mark when jumping to a selected tag.
taglist_40b1.zip 4.0b1 2005-04-05 6.0 Yegappan Lakshmanan Added support for optionally displaying the tags in the drop-down/popup menu. Performance enhancments, various bug fixes and debug support.
taglist.zip 3.4 2004-08-16 6.0 Yegappan Lakshmanan 1. Introduced a new option 'Tlist_Show_One_File" to display the tags for only the current buffer in the taglist window.
2. Support for not displaying the tags for a user-deleted file in the taglist window.
3. Fix for sharing the mouse single click map with other plugins
taglist.zip 3.3 2004-06-01 6.0 Yegappan Lakshmanan 1. If Tlist_Ctags_Cmd variable is not set, on startup, check for the
   presence of exuberant-ctags or ctags or tags in the PATH and set
   Tlist_Ctags_Cmd variable accordingly. If none of the executable is
   found, then the taglist plugin will not be not loaded.
2. Added a new configuration variable Tlist_Enable_Fold_Column to
   enable or disable fold columns in the taglist window.
3. Added support for setting the taglist application name used by the
   winmanager plugin and the cream package.
4. Two new key mappings ([[ and ]]) are added to the taglist window to
   move between files.
5. When a file is modified, the taglist window will be automatically
   updated (after going to some other window or buffer and then coming
   to the modified buffer).
6. Made the Tlist_Update_File_Tags() function as a global function.
   This function can be used to add or update the tags for a new file.
7. Updated the Tlist_Get_Tag_Prototype_By_Line() and the
   Tlist_Get_Tagname_By_Line() functions to get the tag name and tag
   prototype for the specified line in a file.
taglist.zip 3.2 2004-04-25 6.0 Yegappan Lakshmanan Added support for closing the tags tree for inactive files, removing the tags tree for deleted buffers, processing the tags when the taglist window is not opened, disabling the automatic highlighting of the current tag, displaying name of the current tag.
taglist.zip 3.1 2003-11-02 6.0 Yegappan Lakshmanan Added support for saving and restoring taglist sessions. Separated the taglist documentation into a separate file in Vim help format.
taglist.vim 3.0 2003-09-24 6.0 Yegappan Lakshmanan Added support for displaying tags defined in multiple files.
taglist.vim 2.8 2003-09-14 6.0 Yegappan Lakshmanan Added information about the taglist mailing list.
taglist.vim 2.7 2003-08-21 6.0 Yegappan Lakshmanan 1. Added TlistUpdate command to update the taglist window.
2. Made the taglist highlight groups user configurable.
3. Fixed a problem in the taglist integration with the winmanager plugin
taglist.vim 2.6 2003-06-09 6.0 Yegappan Lakshmanan 1. Added support for previewing a tag.
2. Added the TlistClose command to close the taglist window
3. Added the Tlist_Exit_OnlyWindow option to close the taglist window if only that window is open.
taglist.vim 2.5 2003-04-25 6.0 Yegappan Lakshmanan Added support for highlighting the tag scope. Added support for displaying namespaces in C++ files. Updated the comments.
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.