Kevin Berridge committed 082361c Merge


Comments (0)

Files changed (32)


+command-t-0.6.vba: call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/controller.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/extconf.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/finder.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/match_window.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/prompt.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/scanner.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/settings.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/stub.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/vim/screen.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/vim/window.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/vim.rb')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/ext.c')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/match.c')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/matcher.c')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/ext.h')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/match.h')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/matcher.h')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/ruby_compat.h')|call delete('C:\Program\ Files\Vim\vimfiles/ruby/command-t/depend')|call delete('C:\Program\ Files\Vim\vimfiles/doc/command-t.txt')|call delete('C:\Program\ Files\Vim\vimfiles/plugin/command-t.vim')


+*bufexplorer.txt*              Buffer Explorer       Last Change: 16 Feb 2010
+Buffer Explorer                                *buffer-explorer* *bufexplorer*
+                                Version 7.2.7
+Plugin for easily exploring (or browsing) Vim |:buffers|.
+|bufexplorer-installation|   Installation
+|bufexplorer-usage|          Usage
+|bufexplorer-windowlayout|   Window Layout
+|bufexplorer-customization|  Customization
+|bufexplorer-changelog|      Change Log
+|bufexplorer-todo|           Todo
+|bufexplorer-credits|        Credits
+For Vim version 7.0 and above.
+This plugin is only available if 'compatible' is not set.
+{Vi does not have any of this}
+INSTALLATION                                        *bufexplorer-installation*
+To install:
+  - Download the
+  - Extract the zip archive into your runtime directory.
+    The archive contains plugin/bufexplorer.vim, and doc/bufexplorer.txt.
+  - Start Vim or goto an existing instance of Vim.
+  - Execute the following command:
+      :helptag <your runtime directory>/doc
+    This will generate all the help tags for any file located in the doc
+    directory.
+USAGE                                                      *bufexplorer-usage*
+To start exploring in the current window, use: >
+ \be   or   :BufExplorer
+To start exploring in a newly split horizontal window, use: >
+ \bs   or   :BufExplorerHorizontalSplit
+To start exploring in a newly split vertical window, use: >
+ \bv   or   :BufExplorerVerticalSplit
+If you would like to use something other than '\', you may simply change the
+leader (see |mapleader|).
+Note: If the current buffer is modified when bufexplorer started, the current
+      window is always split and the new bufexplorer is displayed in that new
+      window.
+Commands to use once exploring:
+ <F1>          Toggle help information.
+ <enter>       Opens the buffer that is under the cursor into the current
+               window.
+ <leftmouse>   Opens the buffer that is under the cursor into the current
+               window.
+ <shift-enter> Opens the buffer that is under the cursor in another tab.
+ d            |:delete|the buffer under the cursor from the list.  The
+               buffer's 'buflisted' is cleared. This allows for the buffer to
+               be displayed again using the 'show unlisted' command.
+ R             Toggles relative path/absolute path.
+ T             Toggles to show only buffers for this tab or not.
+ D            |:wipeout|the buffer under the cursor from the list.  When a
+               buffers is wiped, it will not be shown when unlisted buffer are
+               displayed.
+ f             Toggles whether you are taken to the active window when
+               selecting a buffer or not.
+ o             Opens the buffer that is under the cursor into the current
+               window.
+ p             Toggles the showing of a split filename/pathname.
+ q             Quit exploring.
+ r             Reverses the order the buffers are listed in.
+ s             Selects the order the buffers are listed in. Either by buffer
+               number, file name, file extension, most recently used (MRU), or
+               full path.
+ t             Opens the buffer that is under the cursor in another tab.
+ u             Toggles the showing of "unlisted" buffers.
+Once invoked, Buffer Explorer displays a sorted list (MRU is the default
+sort method) of all the buffers that are currently opened. You are then
+able to move the cursor to the line containing the buffer's name you are
+wanting to act upon. Once you have selected the buffer you would like,
+you can then either open it, close it(delete), resort the list, reverse
+the sort, quit exploring and so on...
+WINDOW LAYOUT                                       *bufexplorer-windowlayout*
+" Press <F1> for Help
+" Sorted by mru | Locate buffer | Absolute Split path
+ 01 %a    bufexplorer.txt      C:\Vim\vimfiles\doc       line 87
+ 02 #     bufexplorer.vim      c:\Vim\vimfiles\plugin    line 1
+  | |     |                    |                         |
+  | |     |                    |                         +-- Current Line #.
+  | |     |                    +-- Relative/Full Path
+  | |     +-- Buffer Name.
+  | +-- Buffer Attributes. See|:buffers|for more information.
+  +-- Buffer Number. See|:buffers|for more information.
+CUSTOMIZATION                                       *bufexplorer-customization*
+                                                     *g:bufExplorerDefaultHelp*
+To control whether the default help is displayed or not, use: >
+  let g:bufExplorerDefaultHelp=0       " Do not show default help.
+  let g:bufExplorerDefaultHelp=1       " Show default help.
+The default is to show the default help.
+                                                    *g:bufExplorerDetailedHelp*
+To control whether detailed help is display by, use: >
+  let g:bufExplorerDetailedHelp=0      " Do not show detailed help.
+  let g:bufExplorerDetailedHelp=1      " Show detailed help.
+The default is NOT to show detailed help.
+                                                      *g:bufExplorerFindActive*
+To control whether you are taken to the active window when selecting a buffer,
+use: >
+  let g:bufExplorerFindActive=0        " Do not go to active window.
+  let g:bufExplorerFindActive=1        " Go to active window.
+The default is to be taken to the active window.
+                                                     *g:bufExplorerReverseSort*
+To control whether to sort the buffer in reverse order or not, use: >
+  let g:bufExplorerReverseSort=0       " Do not sort in reverse order.
+  let g:bufExplorerReverseSort=1       " Sort in reverse order.
+The default is NOT to sort in reverse order.
+                                                 *g:bufExplorerShowDirectories*
+Directories usually show up in the list from using a command like ":e .".
+To control whether to show directories in the buffer list or not, use: >
+  let g:bufExplorerShowDirectories=1   " Show directories.
+  let g:bufExplorerShowDirectories=0   " Don't show directories.
+The default is to show directories.
+                                                *g:bufExplorerShowRelativePath*
+To control whether to show absolute paths or relative to the current
+directory, use: >
+  let g:bufExplorerShowRelativePath=0  " Show absolute paths.
+  let g:bufExplorerShowRelativePath=1  " Show relative paths.
+The default is to show absolute paths.
+                                                    *g:bufExplorerShowUnlisted*
+To control whether to show unlisted buffer or not, use: >
+  let g:bufExplorerShowUnlisted=0      " Do not show unlisted buffers.
+  let g:bufExplorerShowUnlisted=1      " Show unlisted buffers.
+The default is to NOT show unlisted buffers.
+                                                          *g:bufExplorerSortBy*
+To control what field the buffers are sorted by, use: >
+  let g:bufExplorerSortBy='extension'  " Sort by file extension.
+  let g:bufExplorerSortBy='fullpath'   " Sort by full file path name.
+  let g:bufExplorerSortBy='mru'        " Sort by most recently used.
+  let g:bufExplorerSortBy='name'       " Sort by the buffer's name.
+  let g:bufExplorerSortBy='number'     " Sort by the buffer's number.
+The default is to sort by mru.
+                                                      *g:bufExplorerSplitBelow*
+To control where the new split window will be placed above or below the
+current window, use: >
+  let g:bufExplorerSplitBelow=1        " Split new window below current.
+  let g:bufExplorerSplitBelow=0        " Split new window above current.
+The default is to use what ever is set by the global &splitbelow
+                                                *g:bufExplorerSplitOutPathName*
+To control whether to split out the path and file name or not, use: >
+  let g:bufExplorerSplitOutPathName=1  " Split the path and file name.
+  let g:bufExplorerSplitOutPathName=0  " Don't split the path and file
+                                       " name.
+The default is to split the path and file name.
+                                                      *g:bufExplorerSplitRight*
+To control where the new vsplit window will be placed to the left or right of
+current window, use: >
+  let g:bufExplorerSplitRight=0        " Split left.
+  let g:bufExplorerSplitRight=1        " Split right.
+The default is to use the global &splitright.
+                                                   *g:bufExplorerShowTabBuffer*
+To control weither or not to show buffers on for the specific tab or not, use: >
+  let g:bufExplorerShowTabBuffer=0        " No.
+  let g:bufExplorerShowTabBuffer=1        " Yes.
+The default is not to show.
+CHANGE LOG                                              *bufexplorer-changelog*
+7.2.7  - Fix:
+         * My 1st attempt to fix the "cache" issue where buffers information
+           has changed but the cache/display does not reflect those changes.
+           More work still needs to be done.
+7.2.6  - Fix:
+         * Thanks to Michael Henry for pointing out that I totally forgot to
+           update the inline help to reflect the previous change to the 'd'
+           and 'D' keys. Opps!
+7.2.5  - Fix:
+         * Philip Morant suggested switching the command (bwipe) associated
+           with the 'd' key with the command (bdelete) associated with the 'D'
+           key. This made sense since the 'd' key is more likely to be used
+           compared to the 'D' key.
+7.2.4  - Fix:
+         * I did not implement the patch provided by Godefroid Chapelle
+           correctly. I missed one line which happened to be the most
+           important one :)
+7.2.3  - Enhancements:
+         * Thanks to David Fishburn for helping me out with a much needed
+           code overhaul as well as some awesome performance enhancements.
+           He also reworked the handling of tabs.
+         * Thanks to Vladimir Dobriakov for making the suggestions on
+           enhancing the documentation to include a better explaination of
+           what is contained in the main bufexplorer window.
+         * Thanks to Yuriy Ershov for added code that when the bufexplorer
+           window is opened, the cursor is now positioned at the line with the
+           active buffer (useful in non-MRU sort modes).
+         * Yuriy also added the abiltiy to cycle through the sort fields in
+           reverse order.
+         Fixes:
+         * Thanks to Michael Henry for supplying a patch that allows
+           bufexplorer to be opened even when there is one buffer or less.
+         * Thanks to Godefroid Chapelle for supplying a patch that fixed
+           MRU sort order after loading a session.
+7.2.2  - Fixes:
+         * Thanks to David L. Dight for spotting and fixing an issue when
+           using ctrl^. bufexplorer would incorrectly handle the previous
+           buffer so that when ctrl^ was pressed the incorrect file was opened.
+7.2.1  - Fixes:
+         * Thanks to Dimitar for spotting and fixing a feature that was
+           inadvertently left out of the previous version. The feature was
+           when bufexplorer was used together with WinManager, you could use
+           the tab key to open a buffer in a split window.
+7.2.0  - Enhancements:
+         * For all those missing the \bs and \bv commands, these have now
+           returned. Thanks to Phil O'Connell for asking for the return of
+           these missing features and helping test out this version.
+         Fixes:
+         * Fixed problem with the bufExplorerFindActive code not working
+           correctly.
+         * Fixed an incompatibility between bufexplorer and netrw that caused
+           buffers to be incorrectly removed from the MRU list.
+7.1.7  - Fixes:
+         * TaCahiroy fixed several issues related to opening a buffer in a
+           tab.
+7.1.6  - Fixes:
+         * Removed ff=unix from modeline in bufexplorer.txt. Found by Bill
+           McCarthy.
+7.1.5  - Fixes:
+         * Could not open unnamed buffers. Fixed by TaCahiroy.
+7.1.4  - Fixes:
+         * Sometimes when a file's path has 'white space' in it, extra buffers
+           would be created containing each piece of the path. i.e:
+           opening c:\document and settings\test.txt would create a buffer
+           named "and" and a buffer named "Documents". This was reported and
+           fixed by TaCa Yoss.
+7.1.3  - Fixes:
+         * Added code to allow only one instance of the plugin to run at a
+           time. Thanks Dennis Hostetler.
+7.1.2  - Fixes:
+         * Fixed a jumplist issue spotted by JiangJun. I overlooked the
+           'jumplist' and with a couple calls to 'keepjumps', everything is
+           fine again.
+         * Went back to just having a plugin file, no autoload file. By having
+           the autoload, WinManager was no longer working and without really
+           digging into the cause, it was easier to go back to using just a
+           plugin file.
+7.1.1  - Fixes:
+         * A problem spotted by Thomas Arendsen Hein.
+           When running Vim (7.1.94), error E493 was being thrown.
+         Enhancements:
+         * Added 'D' for 'delete' buffer as the 'd' command was a 'wipe'
+           buffer.
+7.1.0  - Another 'major' update, some by Dave Larson, some by me.
+         * Making use of 'autoload' now to make the plugin load quicker.
+         * Removed '\bs' and '\bv'. These are now controlled by the user. The
+           user can issue a ':sp' or ':vs' to create a horizontal or vertical
+           split window and then issue a '\be'
+         * Added handling of tabs.
+7.0.17 - Fixed issue with 'drop' command.
+         Various enhancements and improvements.
+7.0.16 - Fixed issue reported by Liu Jiaping on non Windows systems, which was
+         ...
+         Open file1, open file2, modify file1, open bufexplorer, you get the
+         following error:
+         --------8<--------
+         Error detected while processing function
+         <SNR>14_StartBufExplorer..<SNR>14_SplitOpen:
+         line    4:
+         E37: No write since last change (add ! to override)
+         But the worse thing is, when I want to save the current buffer and
+         type ':w', I get another error message:
+         E382: Cannot write, 'buftype' option is set 
+         --------8<--------
+7.0.15 - Thanks to Mark Smithfield for suggesting bufexplorer needed to handle
+         the ':args' command.
+7.0.14 - Thanks to Randall Hansen for removing the requirement of terminal
+         versions to be recompiled with 'gui' support so the 'drop' command
+         would work. The 'drop' command is really not needed in terminal
+         versions.
+7.0.13 - Fixed integration with WinManager.
+         Thanks to Dave Eggum for another update.
+           - Fix: The detailed help didn't display the mapping for toggling
+                  the split type, even though the split type is displayed.
+           - Fixed incorrect description in the detailed help for toggling
+             relative or full paths.
+           - Deprecated s:ExtractBufferNbr(). Vim's str2nr() does the same
+             thing.
+           - Created a s:Set() function that sets a variable only if it hasn't
+             already been defined. It's useful for initializing all those
+             default settings.
+           - Removed checks for repetitive command definitions. They were
+             unnecessary.
+           - Made the help highlighting a little more fancy.
+           - Minor reverse compatibility issue: Changed ambiguous setting
+             names to be more descriptive of what they do (also makes the code
+             easier to follow):
+               Changed bufExplorerSortDirection to bufExplorerReverseSort
+               Changed bufExplorerSplitType to bufExplorerSplitVertical
+               Changed bufExplorerOpenMode to bufExplorerUseCurrentWindow
+           - When the BufExplorer window closes, all the file-local marks are
+             now deleted. This may have the benefit of cleaning up some of the
+             jumplist.
+           - Changed the name of the parameter for StartBufExplorer from
+             "split" to "open". The parameter is a string which specifies how
+             the buffer will be open, not if it is split or not.
+           - Deprecated DoAnyMoreBuffersExist() - it is a one line function
+             only used in one spot.
+           - Created four functions (SplitOpen(), RebuildBufferList(),
+             UpdateHelpStatus() and ReSortListing()) all with one purpose - to
+             reduce repeated code.
+           - Changed the name of AddHeader() to CreateHelp() to be more
+             descriptive of what it does. It now returns an array instead of
+             updating the window directly. This has the benefit of making the
+             code more efficient since the text the function returns is used a
+             little differently in the two places the function is called.
+         - Other minor simplifications.
+7.0.12 - MAJOR Update.
+         This version will ONLY run with Vim version 7.0 or greater.
+         Dave Eggum has made some 'significant' updates to this latest
+         version:
+           - Added BufExplorerGetAltBuf() global function to be used in the
+             user�s rulerformat.
+           - Added g:bufExplorerSplitRight option.
+           - Added g:bufExplorerShowRelativePath option with mapping.
+           - Added current line highlighting.
+           - The split type can now be changed whether bufexplorer is opened
+             in split mode or not.
+           - Various major and minor bug fixes and speed improvements.
+           - Sort by extension.
+         Other improvements/changes:
+           - Changed the help key from '?' to <F1> to be more 'standard'.
+           - Fixed splitting of vertical bufexplorer window.
+         Hopefully I have not forgot something :)
+7.0.11 - Fixed a couple of highlighting bugs, reported by David Eggum. He also
+         changed passive voice to active on a couple of warning messages.
+7.0.10 - Fixed bug report by Xiangjiang Ma. If the 'ssl' option is set,
+         the slash character used when displaying the path was incorrect.
+7.0.9  - Martin Grenfell found and eliminated an annoying bug in the
+         bufexplorer/winmanager integration. The bug was were an
+         annoying message would be displayed when a window was split or
+         a new file was opened in a new window. Thanks Martin!
+7.0.8  - Thanks to Mike Li for catching a bug in the WinManager integration.
+         The bug was related to the incorrect displaying of the buffer
+         explorer's window title.
+7.0.7  - Thanks to Jeremy Cowgar for adding a new enhancement. This
+         enhancement allows the user to press 'S', that is capital S, which
+         will open the buffer under the cursor in a newly created split
+         window.
+7.0.6  - Thanks to Larry Zhang for finding a bug in the "split" buffer code.
+         If you force set g:bufExplorerSplitType='v' in your vimrc, and if you
+         tried to do a \bs to split the bufexplorer window, it would always
+         split horizontal, not vertical. He also found that I had a typeo in
+         that the variable g:bufExplorerSplitVertSize was all lower case in
+         the documentation which was incorrect.
+7.0.5  - Thanks to Mun Johl for pointing out a bug that if a buffer was
+         modified, the '+' was not showing up correctly.
+7.0.4  - Fixed a problem discovered first by Xiangjiang Ma. Well since I've
+         been using vim 7.0 and not 6.3, I started using a function (getftype)
+         that is not in 6.3. So for backward compatibility, I conditionaly use
+         this function now.  Thus, the g:bufExplorerShowDirectories feature is
+         only available when using vim 7.0 and above.
+7.0.3  - Thanks to Erwin Waterlander for finding a problem when the last
+         buffer was deleted. This issue got me to rewrite the buffer display
+         logic (which I've wanted to do for sometime now).
+         Also great thanks to Dave Eggum for coming up with idea for
+         g:bufExplorerShowDirectories. Read the above information about this
+         feature.
+7.0.2  - Thanks to Thomas Arendsen Hein for finding a problem when a user
+         has the default help turned off and then brought up the explorer. An
+         E493 would be displayed.
+7.0.1  - Thanks to Erwin Waterlander for finding a couple problems.
+         The first problem allowed a modified buffer to be deleted.  Opps! The
+         second problem occurred when several files were opened, BufExplorer
+         was started, the current buffer was deleted using the 'd' option, and
+         then BufExplorer was exited. The deleted buffer was still visible
+         while it is not in the buffers list. Opps again!
+7.0.0  - Thanks to Shankar R. for suggesting to add the ability to set
+         the fixed width (g:bufExplorerSplitVertSize) of a new window
+         when opening bufexplorer vertically and fixed height
+         (g:bufExplorerSplitHorzSize) of a new window when opening
+         bufexplorer horizontally. By default, the windows are normally
+         split to use half the existing width or height.
+6.3.0  - Added keepjumps so that the jumps list would not get cluttered with
+         bufexplorer related stuff.
+6.2.3  - Thanks to Jay Logan for finding a bug in the vertical split position
+         of the code. When selecting that the window was to be split
+         vertically by doing a '\bv', from then on, all splits, i.e. '\bs',
+         were split vertically, even though g:bufExplorerSplitType was not set
+         to 'v'.
+6.2.2  - Thanks to Patrik Modesto for adding a small improvement. For some
+         reason his bufexplorer window was always showing up folded. He added
+         'setlocal nofoldenable' and it was fixed.
+6.2.1  - Thanks goes out to Takashi Matsuo for added the 'fullPath' sorting
+         logic and option.
+6.2.0  - Thanks goes out to Simon Johann-Ganter for spotting and fixing a
+         problem in that the last search pattern is overridden by the search
+         pattern for blank lines.
+6.1.6  - Thanks to Artem Chuprina for finding a pesky bug that has been around
+         for sometime now. The <esc> key mapping was causing the buffer
+         explored to close prematurely when vim was run in an xterm. The <esc>
+         key mapping is now removed.
+6.1.5  - Thanks to Khorev Sergey. Added option to show default help or not.
+6.1.4  - Thanks goes out to Valery Kondakoff for suggesting the addition of
+         setlocal nonumber and foldcolumn=0. This allows for line numbering
+         and folding to be turned off temporarily while in the explorer.
+6.1.3  - Added folding. Did some code cleanup. Added the ability to force the
+         newly split window to be temporarily vertical, which was suggested by
+         Thomas Glanzmann.
+6.1.2  - Now pressing the <esc> key will quit, just like 'q'.
+         Added folds to hide winmanager configuration.
+         If anyone had the 'C' option in their cpoptions they would receive
+         a E10 error on startup of BufExplorer. cpo is now saved, updated and
+         restored. Thanks to Charles E Campbell, Jr.
+         Attempted to make sure there can only be one BufExplorer window open
+         at a time.
+6.1.1  - Thanks to Brian D. Goodwin for adding toupper to FileNameCmp. This
+         way buffers sorted by name will be in the correct order regardless of
+         case.
+6.0.16 - Thanks to Andre Pang for the original patch/idea to get bufexplorer
+         to work in insertmode/modeless mode (evim). Added Initialize
+         and Cleanup autocommands to handle commands that need to be
+         performed when starting or leaving bufexplorer.
+6.0.15 - Srinath Avadhanulax added a patch for winmanager.vim.
+6.0.14 - Fix a few more bug that I thought I already had fixed. Thanks
+         to Eric Bloodworth for adding 'Open Mode/Edit in Place'. Added
+         vertical splitting.
+6.0.13 - Thanks to Charles E Campbell, Jr. for pointing out some embarrassing
+         typos that I had in the documentation. I guess I need to run
+         the spell checker more :o)
+6.0.12 - Thanks to Madoka Machitani, for the tip on adding the augroup command
+         around the MRUList autocommands.
+6.0.11 - Fixed bug report by Xiangjiang Ma. '"=' was being added to the
+         search history which messed up hlsearch.
+6.0.10 - Added the necessary hooks so that the Srinath Avadhanula's
+         winmanager.vim script could more easily integrate with this script.
+         Tried to improve performance.
+6.0.9  - Added MRU (Most Recently Used) sort ordering.
+6.0.8  - Was not resetting the showcmd command correctly.
+         Added nifty help file.
+6.0.7  - Thanks to Brett Carlane for some great enhancements. Some are added,
+         some are not, yet. Added highlighting of current and alternate
+         filenames. Added splitting of path/filename toggle. Reworked
+         ShowBuffers().
+         Changed my email address.
+6.0.6  - Copyright notice added. Needed this so that it could be distributed
+         with Debian Linux. Fixed problem with the SortListing() function
+         failing when there was only one buffer to display.
+6.0.5  - Fixed problems reported by David Pascoe, in that you where unable to
+         hit 'd' on a buffer that belonged to a files that no longer existed
+         and that the 'yank' buffer was being overridden by the help text when
+         the bufexplorer was opened.
+6.0.4  - Thanks to Charles Campbell, Jr. for making this plugin more plugin
+         *compliant*, adding default keymappings of <Leader>be and <Leader>bs
+         as well as fixing the 'w:sortDirLabel not being defined' bug.
+6.0.3  - Added sorting capabilities. Sort taken from explorer.vim.
+6.0.2  - Can't remember. (2001-07-25)
+6.0.1  - Initial release.
+TODO                                                         *bufexplorer-todo*
+- Nothing as of now, buf if you have any suggestions, drop me an email.
+CREDITS                                                   *bufexplorer-credits*
+Author: Jeff Lanzarotta <delux256-vim at yahoo dot com>
+Credit must go out to Bram Moolenaar and all the Vim developers for
+making the world's best editor (IMHO). I also want to thank everyone who
+helped and gave me suggestions. I wouldn't want to leave anyone out so I
+won't list names.


+*command-t.txt* Command-T plug-in for VIM
+CONTENTS                                        *command-t-contents*
+ 1. Introduction            |command-t|
+ 2. Requirements            |command-t-requirements|
+ 3. Installation            |command-t-installation|
+ 4. Trouble-shooting        |command-t-trouble-shooting|
+ 5. Usage                   |command-t-usage|
+ 6. Commands                |command-t-commands|
+ 7. Mappings                |command-t-mappings|
+ 8. Options                 |command-t-options|
+ 9. Author                  |command-t-author|
+10. Website                 |command-t-website|
+11. Donations               |command-t-donations|
+12. License                 |command-t-license|
+13. History                 |command-t-history|
+INTRODUCTION                                    *command-t*
+The Command-T plug-in provides an extremely fast, intuitive mechanism for
+opening files with a minimal number of keystrokes. It's named "Command-T"
+because it is inspired by the "Go to File" window bound to Command-T in
+Files are selected by typing characters that appear in their paths, and are
+ordered by an algorithm which knows that characters that appear in certain
+locations (for example, immediately after a path separator) should be given
+more weight.
+Screencasts demonstrating the plug-in can be viewed at:
+REQUIREMENTS                                    *command-t-requirements*
+The plug-in requires VIM compiled with Ruby support, a compatible Ruby
+installation at the operating system level, and a C compiler to build
+the Ruby extension.
+1. VIM compiled with Ruby support
+You can check for Ruby support by launching VIM with the --version switch:
+  vim --version
+If "+ruby" appears in the version information then your version of VIM has
+Ruby support.
+Another way to check is to simply try using the :ruby command from within VIM
+  :ruby 1
+If your VIM lacks support you'll see an error message like this:
+  E319: Sorry, the command is not available in this version
+The version of VIM distributed with Mac OS X does not include Ruby support,
+while MacVim does; it is available from:
+For Windows users, the executable from does include Ruby support.
+2. Ruby
+In addition to having Ruby support in VIM, your system itself must have a
+compatible Ruby install. In practice this usually means a version of Ruby from
+the 1.8 series, as VIM's support for 1.9 is still not official.
+The current version of Mac OS X comes with Ruby 1.8.7.
+A suitable Ruby environment for Windows can be installed using RubyInstaller
+available at:
+If using RubyInstaller be sure to download the installer executable, not the
+7-zip archive. When installing mark the checkbox "Add Ruby executables to your
+PATH" so that VIM can find them.
+3. C compiler
+Part of Command-T is implemented in C as a Ruby extension for speed, allowing
+it to work responsively even on directory hierarchies containing enormous
+numbers of files. As such, a C compiler is required in order to build the
+extension and complete the installation.
+On Mac OS X, this can be obtained by installing the Xcode Tools that come on
+the Mac OS X install disc.
+On Windows, the RubyInstaller Development Kit can be used to conveniently
+install the necessary tool chain:
+To use the Development Kit extract the archive contents to your C:\Ruby
+INSTALLATION                                    *command-t-installation*
+Command-T is distributed as a "vimball" which means that it can be installed
+by opening it in VIM and then sourcing it:
+  :e command-t.vba
+  :so %
+The files will be installed in your |'runtimepath'|. To check where this is
+you can issue:
+  :echo &rtp
+The C extension must then be built, which can be done from the shell. If you
+use a typical |'runtimepath'| then the files were installed inside ~/.vim and
+you can build the extension with:
+  cd ~/.vim/ruby/command-t
+  ruby extconf.rb
+  make
+TROUBLE-SHOOTING                                *command-t-trouble-shooting*
+Most installation problems are caused by a mismatch between the version of
+Ruby on the host operating system, and the version of Ruby that VIM itself
+linked against at compile time. For example, if one is 32-bit and the other is
+64-bit, or one is from the Ruby 1.9 series and the other is from the 1.8
+series, then the plug-in is not likely to work.
+As such, on Mac OS X, I recommend using the standard Ruby that comes with the
+system (currently 1.8.7) along with the latest snapshot of MacVim (currently
+snapshot 52).
+On Windows, I recommend using the version 1.8.7 RubyInstaller and the
+corresponding RubyInstaller Development Kit linked to above, along with the
+standard (32-bit) version of VIM that can be downloaded from
+USAGE                                           *command-t-usage*
+Bring up the Command-T match window by typing:
+  <Leader>t
+If a mapping for <Leader>t already exists at the time the plug-in is loaded
+then Command-T will not overwrite it. You can instead open the match window by
+issuing the command:
+  :CommandT
+A prompt will appear at the bottom of the screen along with a match window
+showing all of the files in the current directory (as returned by the
+|:pwd| command).
+Type letters in the prompt to narrow down the selection, showing only the
+files whose paths contain those letters in the specified order. Letters do not
+need to appear consecutively in a path in order for it to be classified as a
+Once the desired file has been selected it can be opened by pressing <CR>.
+(By default files are opened in the current window, but there are other
+mappings that you can use to open in a vertical or horizontal split, or in
+a new tab.) Note that if you have |'nohidden'| set and there are unsaved
+changes in the current window when you press <CR> then opening in the current
+window would fail; in this case Command-T will open the file in a new split.
+The following mappings are active when the prompt has focus:
+    <BS>        delete the character to the left of the cursor
+    <Del>       delete the character at the cursor
+    <Left>      move the cursor one character to the left
+    <C-h>       move the cursor one character to the left
+    <Right>     move the cursor one character to the right
+    <C-l>       move the cursor one character to the right
+    <C-a>       move the cursor to the start (left)
+    <C-e>       move the cursor to the end (right)
+    <C-u>       clear the contents of the prompt
+    <Tab>       change focus to the match listing
+The following mappings are active when the match listing has focus:
+    <Tab>       change focus to the prompt
+The following mappings are active when either the prompt or the match listing
+has focus:
+    <CR>        open the selected file
+    <C-CR>      open the selected file in a new split window
+    <C-s>       open the selected file in a new split window
+    <C-v>       open the selected file in a new vertical split window
+    <C-t>       open the selected file in a new tab
+    <C-j>       select next file in the match listing
+    <C-n>       select next file in the match listing
+    <Down>      select next file in the match listing
+    <C-k>       select previous file in the match listing
+    <C-p>       select previous file in the match listing
+    <Up>        select previous file in the match listing
+    <C-c>       cancel (dismisses match listing)
+The following is also available on terminals which support it:
+    <Esc>       cancel (dismisses match listing)
+Note that the default mappings can be overriden by setting options in your
+~/.vimrc file (see the OPTIONS section for a full list of available options).
+In addition, when the match listing has focus, typing a character will cause
+the selection to jump to the first path which begins with that character.
+Typing multiple characters consecutively can be used to distinguish between
+paths which begin with the same prefix.
+COMMANDS                                        *command-t-commands*
+                                                *:CommandT*
+|:CommandT|     Brings up the Command-T match window, starting in the
+                current working directory as returned by the|:pwd|
+                command.
+                                                *:CommandTFlush*
+|:CommandTFlush|Instructs the plug-in to flush its path cache, causing
+                the directory to be rescanned for new or deleted paths
+                the next time the match window is shown. In addition, all
+                configuration settings are re-evaluated, causing any
+                changes made to settings via the |:let| command to be picked
+                up.
+MAPPINGS                                        *command-t-mappings*
+By default Command-T comes with only one mapping:
+  <Leader>t     bring up the Command-T match window
+However, Command-T won't overwrite a pre-existing mapping so if you prefer
+to define a different mapping use a line like this in your ~/.vimrc:
+  nmap <silent> <Leader>t :CommandT<CR>
+Replacing "<Leader>t" with your mapping of choice.
+Note that in the case of MacVim you actually can map to Command-T (written
+as <D-t> in VIM) in your ~/.gvimrc file if you first unmap the existing menu
+binding of Command-T to "New Tab":
+  if has("gui_macvim")
+    macmenu &File.New\ Tab key=<nop>
+    map <D-t> :CommandT<CR>
+  endif
+When the Command-T window is active a number of other additional mappings
+become available for doing things like moving between and selecting matches.
+These are fully described above in the USAGE section, and settings for
+overriding the mappings are listed below under OPTIONS.
+OPTIONS                                         *command-t-options*
+A number of options may be set in your ~/.vimrc to influence the behaviour of
+the plug-in. To set an option, you include a line like this in your ~/.vimrc:
+    let g:CommandTMaxFiles=20000
+To have Command-T pick up new settings immediately (that is, without having
+to restart VIM) you can issue the |:CommandTFlush| command after making
+changes via |:let|.
+Following is a list of all available options:
+                                                *g:CommandTMaxFiles*
+  |g:CommandTMaxFiles|                           number (default 10000)
+      The maximum number of files that will be considered when scanning the
+      current directory. Upon reaching this number scanning stops.
+                                                *g:CommandTMaxDepth*
+  |g:CommandTMaxDepth|                           number (default 15)
+      The maximum depth (levels of recursion) to be explored when scanning the
+      current directory. Any directories at levels beyond this depth will be
+      skipped.
+                                                *g:CommandTMaxHeight*
+  |g:CommandTMaxHeight|                          number (default: 0)
+      The maximum height in lines the match window is allowed to expand to.
+      If set to 0, the window will occupy as much of the available space as
+      needed to show matching entries.
+                                                *g:CommandTAlwaysShowDotFiles*
+  |g:CommandTAlwaysShowDotFiles|                 boolean (default: 0)
+      By default Command-T will show dot-files only if the entered search
+      string contains a dot that could cause a dot-file to match. When set to
+      a non-zero value, this setting instructs Command-T to always include
+      matching dot-files in the match list regardless of whether the search
+      string contains a dot. See also |g:CommandTNeverShowDotFiles|.
+                                                *g:CommandTNeverShowDotFiles*
+  |g:CommandTNeverShowDotFiles|                  boolean (default: 0)
+      By default Command-T will show dot-files if the entered search string
+      contains a dot that could cause a dot-file to match. When set to a
+      non-zero value, this setting instructs Command-T to never show dot-files
+      under any circumstances. Note that it is contradictory to set both this
+      setting and |g:CommandTAlwaysShowDotFiles| to true, and if you do so VIM
+      will suffer from headaches, nervous twitches, and sudden mood swings.
+                                                *g:CommandTScanDotDirectories*
+  |g:CommandTScanDotDirectories|                 boolean (default: 0)
+      Normally Command-T will not recurse into "dot-directories" (directories
+      whose names begin with a dot) while performing its initial scan. Set
+      this setting to a non-zero value to override this behavior and recurse.
+      Note that this setting is completely independent of the
+      |g:CommandTAlwaysShowDotFiles| and |g:CommandTNeverShowDotFiles|
+      settings; those apply only to the selection and display of matches
+      (after scanning has been performed), whereas
+      |g:CommandTScanDotDirectories| affects the behaviour at scan-time.
+      Note also that even with this setting on you can still use Command-T to
+      open files inside a "dot-directory" such as ~/.vim, but you have to use
+      the |:cd| command to change into that directory first. For example:
+        :cd ~/.vim
+        :CommandT
+                                                *g:CommandTMatchWindowAtTop*
+  |g:CommandTMatchWindowAtTop|                   boolean (default: 0)
+      When this settings is off (the default) the match window will appear at
+      the bottom so as to keep it near to the prompt. Turning it on causes the
+      match window to appear at the top instead. This may be preferable if you
+      want the best match (usually the first one) to appear in a fixed location
+      on the screen rather than moving as the number of matches changes during
+      typing.
+As well as the basic options listed above, there are a number of settings that
+can be used to override the default key mappings used by Command-T. For
+example, to set <C-x> as the mapping for cancelling (dismissing) the Command-T
+window, you would add the following to your ~/.vimrc:
+  let g:CommandTCancelMap='<C-x>'
+Following is a list of all map settings:
+                              Setting   Default mapping(s)
+                                       *g:CommandTBackspaceMap*
+              |g:CommandTBackspaceMap|  <BS>
+      Delete the character at the current cursor position
+                                       *g:CommandTDeleteMap*
+                 |g:CommandTDeleteMap|  <Del>
+                 Delete the character to the right of the current cursor position
+                                       *g:CommandTAcceptSelectionMap*
+        |g:CommandTAcceptSelectionMap|  <CR>
+        Accept the currently selected item (opens in current window)
+                                       *g:CommandTAcceptSelectionSplitMap*
+   |g:CommandTAcceptSelectionSplitMap|  <C-CR>
+                                        <C-s>
+                                        Accept the currently selected item
+                                        (opens in split window)
+                                       *g:CommandTAcceptSelectionTabMap*
+     |g:CommandTAcceptSelectionTabMap|  <C-t>
+     Accept the currently selected item (opens in tab)
+                                       *g:CommandTAcceptSelectionVSplitMap*
+  |g:CommandTAcceptSelectionVSplitMap|  <C-v>
+Accept the currently selected item (opens in vertical split)
+                                       *g:CommandTToggleFocusMap*
+            |g:CommandTToggleFocusMap|  <Tab>
+Toggle keyboard focus between prompt and match listing
+                                       *g:CommandTCancelMap*
+                 |g:CommandTCancelMap|  <C-c>
+                                        <Esc> (not on all terminals)
+Dismiss the Command-T prompt and match listing
+                                       *g:CommandTSelectNextMap*
+             |g:CommandTSelectNextMap|  <C-n>
+                                        <C-j>
+                                        <Down>
+Select next match in match listing
+                                       *g:CommandTSelectPrevMap*
+             |g:CommandTSelectPrevMap|  <C-p>
+                                        <C-k>
+                                        <Up>
+Select previous match in match listing
+                                       *g:CommandTClearMap*
+                  |g:CommandTClearMap|  <C-u>
+Clear all text from the prompt
+                                       *g:CommandTCursorLeftMap*
+             |g:CommandTCursorLeftMap|  <Left>
+                                        <C-h>
+Move the cursor one character to the left within the prompt
+                                       *g:CommandTCursorRightMap*
+            |g:CommandTCursorRightMap|  <Right>
+                                        <C-l>
+Move the cursor one character to the right within the prompt
+                                       *g:CommandTCursorEndMap*
+              |g:CommandTCursorEndMap|  <C-e>
+Move the cursor to the end (far right) of the prompt
+                                       *g:CommandTCursorStartMap*
+            |g:CommandTCursorStartMap|  <C-a>
+In addition to the options provided by Command-T itself, some of VIM's own
+settings can be used to control behavior:
+                                                *command-t-wildignore*
+  |'wildignore'|                                 string (default: '')
+      VIM's |'wildignore'| setting is used to determine which files should be
+      excluded from listings. This is a comma-separated list of file glob
+      patterns. It defaults to the empty string, but common settings include
+      "*.o,*.obj" (to exclude object files) or ".git,.svn" (to exclude SCM
+      metadata directories). For example:
+        :set wildignore+=*.o,*.obj,.git
+      See the |'wildignore'| documentation for more information.
+AUTHOR                                          *command-t-author*
+Command-T is written and maintained by Wincent Colaiuta <>.
+As this was the first VIM plug-in I had ever written I was heavily influenced
+by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
+is one of the largest Ruby-based VIM plug-ins to date.
+While the Command-T codebase doesn't contain any code directly copied from
+LustyExplorer, I did use it as a reference for answers to basic questions (like
+"How do you do 'X' in a Ruby-based VIM plug-in?"), and also copied some basic
+architectural decisions (like the division of the code into Prompt, Settings
+and MatchWindow classes).
+LustyExplorer is available from:
+WEBSITE                                         *command-t-website*
+The official website for Command-T is:
+The latest release will always be available from there.
+Development in progress can be inspected via the project's Git repository
+browser at:
+A copy of each release is also available from the official VIM scripts site
+Bug reports should be submitted to the issue tracker at:
+DONATIONS                                       *command-t-donations*
+Command-T itself is free software released under the terms of the BSD license.
+If you would like to support further development you can make a donation via
+PayPal to
+LICENSE                                         *command-t-license*
+Copyright 2010 Wincent Colaiuta. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+HISTORY                                         *command-t-history*
+0.6 (28 April 2010)
+- |:CommandT| now accepts an optional parameter to specify the starting
+  directory, temporarily overriding the usual default of VIM's |:pwd|
+- fix truncated paths when operating from root directory
+0.5.1 (11 April 2010)
+- fix for Ruby 1.9 compatibility regression introduced in 0.5
+- documentation enhancements, specifically targetted at Windows users
+0.5 (3 April 2010)
+- |:CommandTFlush| now re-evaluates settings, allowing changes made via |let|
+  to be picked up without having to restart VIM
+- fix premature abort when scanning very deep directory hierarchies
+- remove broken |<Esc>| key mapping on vt100 and xterm terminals
+- provide settings for overriding default mappings
+- minor performance optimization
+0.4 (27 March 2010)
+- add |g:CommandTMatchWindowAtTop| setting (patch from Zak Johnson)
+- documentation fixes and enhancements
+- internal refactoring and simplification
+0.3 (24 March 2010)
+- add |g:CommandTMaxHeight| setting for controlling the maximum height of the
+  match window (patch from Lucas de Vries)
+- fix bug where |'list'| setting might be inappropriately set after dismissing
+  Command-T
+- compatibility fix for different behaviour of "autoload" under Ruby 1.9.1
+- avoid "highlight group not found" warning when run under a version of VIM
+  that does not have syntax highlighting support
+- open in split when opening normally would fail due to |'hidden'| and
+  |'modified'| values
+0.2 (23 March 2010)
+- compatibility fixes for compilation under Ruby 1.9 series
+- compatibility fixes for compilation under Ruby 1.8.5
+- compatibility fixes for Windows and other non-UNIX platforms
+- suppress "mapping already exists" message if <Leader>t mapping is already
+  defined when plug-in is loaded
+- exclude paths based on |'wildignore'| setting rather than a hardcoded
+  regular expression
+0.1 (22 March 2010)
+- initial public release


 'NERDAllowAnyVisualDelims'	NERD_commenter.txt	/*'NERDAllowAnyVisualDelims'*
 'NERDBlockComIgnoreEmpty'	NERD_commenter.txt	/*'NERDBlockComIgnoreEmpty'*
+'NERDChristmasTree'	NERD_tree.txt	/*'NERDChristmasTree'*
 'NERDCommentWholeLinesInVMode'	NERD_commenter.txt	/*'NERDCommentWholeLinesInVMode'*
 'NERDCompactSexyComs'	NERD_commenter.txt	/*'NERDCompactSexyComs'*
 'NERDCreateDefaultMappings'	NERD_commenter.txt	/*'NERDCreateDefaultMappings'*
 'NERDRemoveExtraSpaces'	NERD_commenter.txt	/*'NERDRemoveExtraSpaces'*
 'NERDShutUp'	NERD_commenter.txt	/*'NERDShutUp'*
 'NERDSpaceDelims'	NERD_commenter.txt	/*'NERDSpaceDelims'*
+'NERDTreeAutoCenter'	NERD_tree.txt	/*'NERDTreeAutoCenter'*
+'NERDTreeAutoCenterThreshold'	NERD_tree.txt	/*'NERDTreeAutoCenterThreshold'*
+'NERDTreeBookmarksFile'	NERD_tree.txt	/*'NERDTreeBookmarksFile'*
+'NERDTreeCaseSensitiveSort'	NERD_tree.txt	/*'NERDTreeCaseSensitiveSort'*
+'NERDTreeChDirMode'	NERD_tree.txt	/*'NERDTreeChDirMode'*
+'NERDTreeHighlightCursorline'	NERD_tree.txt	/*'NERDTreeHighlightCursorline'*
+'NERDTreeHijackNetrw'	NERD_tree.txt	/*'NERDTreeHijackNetrw'*
+'NERDTreeIgnore'	NERD_tree.txt	/*'NERDTreeIgnore'*
+'NERDTreeMouseMode'	NERD_tree.txt	/*'NERDTreeMouseMode'*
+'NERDTreeQuitOnOpen'	NERD_tree.txt	/*'NERDTreeQuitOnOpen'*
+'NERDTreeShowBookmarks'	NERD_tree.txt	/*'NERDTreeShowBookmarks'*
+'NERDTreeShowFiles'	NERD_tree.txt	/*'NERDTreeShowFiles'*
+'NERDTreeShowHidden'	NERD_tree.txt	/*'NERDTreeShowHidden'*
+'NERDTreeShowLineNumbers'	NERD_tree.txt	/*'NERDTreeShowLineNumbers'*
+'NERDTreeSortOrder'	NERD_tree.txt	/*'NERDTreeSortOrder'*
+'NERDTreeStatusline'	NERD_tree.txt	/*'NERDTreeStatusline'*
+'NERDTreeWinPos'	NERD_tree.txt	/*'NERDTreeWinPos'*
+'NERDTreeWinSize'	NERD_tree.txt	/*'NERDTreeWinSize'*
 'NERDUsePlaceHolders'	NERD_commenter.txt	/*'NERDUsePlaceHolders'*
 'loaded_nerd_comments'	NERD_commenter.txt	/*'loaded_nerd_comments'*
+'loaded_nerd_tree'	NERD_tree.txt	/*'loaded_nerd_tree'*
 'snippets'	snipMate.txt	/*'snippets'*
 .snippet	snipMate.txt	/*.snippet*
 .snippets	snipMate.txt	/*.snippets*
+:CommandT	command-t.txt	/*:CommandT*
+:CommandTFlush	command-t.txt	/*:CommandTFlush*
+:NERDTree	NERD_tree.txt	/*:NERDTree*
+:NERDTreeClose	NERD_tree.txt	/*:NERDTreeClose*
+:NERDTreeFind	NERD_tree.txt	/*:NERDTreeFind*
+:NERDTreeFromBookmark	NERD_tree.txt	/*:NERDTreeFromBookmark*
+:NERDTreeMirror	NERD_tree.txt	/*:NERDTreeMirror*
+:NERDTreeToggle	NERD_tree.txt	/*:NERDTreeToggle*
 ExtractSnips()	snipMate.txt	/*ExtractSnips()*
 ExtractSnipsFile()	snipMate.txt	/*ExtractSnipsFile()*
 Filename()	snipMate.txt	/*Filename()*
 NERDComYankComment	NERD_commenter.txt	/*NERDComYankComment*
 NERDCommenter	NERD_commenter.txt	/*NERDCommenter*
 NERDCommenterContents	NERD_commenter.txt	/*NERDCommenterContents*
+NERDTree	NERD_tree.txt	/*NERDTree*
+NERDTree-?	NERD_tree.txt	/*NERDTree-?*
+NERDTree-A	NERD_tree.txt	/*NERDTree-A*
+NERDTree-B	NERD_tree.txt	/*NERDTree-B*
+NERDTree-C	NERD_tree.txt	/*NERDTree-C*
+NERDTree-C-J	NERD_tree.txt	/*NERDTree-C-J*
+NERDTree-C-K	NERD_tree.txt	/*NERDTree-C-K*
+NERDTree-D	NERD_tree.txt	/*NERDTree-D*
+NERDTree-F	NERD_tree.txt	/*NERDTree-F*
+NERDTree-I	NERD_tree.txt	/*NERDTree-I*
+NERDTree-J	NERD_tree.txt	/*NERDTree-J*
+NERDTree-K	NERD_tree.txt	/*NERDTree-K*
+NERDTree-O	NERD_tree.txt	/*NERDTree-O*
+NERDTree-P	NERD_tree.txt	/*NERDTree-P*
+NERDTree-R	NERD_tree.txt	/*NERDTree-R*
+NERDTree-T	NERD_tree.txt	/*NERDTree-T*
+NERDTree-U	NERD_tree.txt	/*NERDTree-U*
+NERDTree-X	NERD_tree.txt	/*NERDTree-X*
+NERDTree-cd	NERD_tree.txt	/*NERDTree-cd*
+NERDTree-contents	NERD_tree.txt	/*NERDTree-contents*
+NERDTree-e	NERD_tree.txt	/*NERDTree-e*
+NERDTree-f	NERD_tree.txt	/*NERDTree-f*
+NERDTree-gi	NERD_tree.txt	/*NERDTree-gi*
+NERDTree-go	NERD_tree.txt	/*NERDTree-go*
+NERDTree-gs	NERD_tree.txt	/*NERDTree-gs*
+NERDTree-i	NERD_tree.txt	/*NERDTree-i*
+NERDTree-m	NERD_tree.txt	/*NERDTree-m*
+NERDTree-o	NERD_tree.txt	/*NERDTree-o*
+NERDTree-p	NERD_tree.txt	/*NERDTree-p*
+NERDTree-q	NERD_tree.txt	/*NERDTree-q*
+NERDTree-r	NERD_tree.txt	/*NERDTree-r*
+NERDTree-s	NERD_tree.txt	/*NERDTree-s*
+NERDTree-t	NERD_tree.txt	/*NERDTree-t*
+NERDTree-u	NERD_tree.txt	/*NERDTree-u*
+NERDTree-x	NERD_tree.txt	/*NERDTree-x*
+NERDTreeAPI	NERD_tree.txt	/*NERDTreeAPI*
+NERDTreeAbout	NERD_tree.txt	/*NERDTreeAbout*
+NERDTreeAddKeyMap()	NERD_tree.txt	/*NERDTreeAddKeyMap()*
+NERDTreeAddMenuItem()	NERD_tree.txt	/*NERDTreeAddMenuItem()*
+NERDTreeAddMenuSeparator()	NERD_tree.txt	/*NERDTreeAddMenuSeparator()*
+NERDTreeAddSubmenu()	NERD_tree.txt	/*NERDTreeAddSubmenu()*
+NERDTreeBookmarkCommands	NERD_tree.txt	/*NERDTreeBookmarkCommands*
+NERDTreeBookmarkTable	NERD_tree.txt	/*NERDTreeBookmarkTable*
+NERDTreeBookmarks	NERD_tree.txt	/*NERDTreeBookmarks*
+NERDTreeChangelog	NERD_tree.txt	/*NERDTreeChangelog*
+NERDTreeCredits	NERD_tree.txt	/*NERDTreeCredits*
+NERDTreeFunctionality	NERD_tree.txt	/*NERDTreeFunctionality*
+NERDTreeGlobalCommands	NERD_tree.txt	/*NERDTreeGlobalCommands*
+NERDTreeInvalidBookmarks	NERD_tree.txt	/*NERDTreeInvalidBookmarks*
+NERDTreeKeymapAPI	NERD_tree.txt	/*NERDTreeKeymapAPI*
+NERDTreeLicense	NERD_tree.txt	/*NERDTreeLicense*
+NERDTreeMappings	NERD_tree.txt	/*NERDTreeMappings*
+NERDTreeMenu	NERD_tree.txt	/*NERDTreeMenu*
+NERDTreeMenuAPI	NERD_tree.txt	/*NERDTreeMenuAPI*
+NERDTreeOptionDetails	NERD_tree.txt	/*NERDTreeOptionDetails*
+NERDTreeOptionSummary	NERD_tree.txt	/*NERDTreeOptionSummary*
+NERDTreeOptions	NERD_tree.txt	/*NERDTreeOptions*
+NERDTreeRender()	NERD_tree.txt	/*NERDTreeRender()*
 NERD_commenter.txt	NERD_commenter.txt	/*NERD_commenter.txt*
+NERD_tree.txt	NERD_tree.txt	/*NERD_tree.txt*
 ResetSnippets()	snipMate.txt	/*ResetSnippets()*
+bufexplorer	bufexplorer.txt	/*bufexplorer*
+bufexplorer-changelog	bufexplorer.txt	/*bufexplorer-changelog*
+bufexplorer-credits	bufexplorer.txt	/*bufexplorer-credits*
+bufexplorer-customization	bufexplorer.txt	/*bufexplorer-customization*
+bufexplorer-installation	bufexplorer.txt	/*bufexplorer-installation*
+bufexplorer-todo	bufexplorer.txt	/*bufexplorer-todo*
+bufexplorer-usage	bufexplorer.txt	/*bufexplorer-usage*
+bufexplorer-windowlayout	bufexplorer.txt	/*bufexplorer-windowlayout*
+bufexplorer.txt	bufexplorer.txt	/*bufexplorer.txt*
+buffer-explorer	bufexplorer.txt	/*buffer-explorer*
+command-t	command-t.txt	/*command-t*
+command-t-author	command-t.txt	/*command-t-author*
+command-t-commands	command-t.txt	/*command-t-commands*
+command-t-contents	command-t.txt	/*command-t-contents*
+command-t-donations	command-t.txt	/*command-t-donations*
+command-t-history	command-t.txt	/*command-t-history*
+command-t-installation	command-t.txt	/*command-t-installation*
+command-t-license	command-t.txt	/*command-t-license*
+command-t-mappings	command-t.txt	/*command-t-mappings*
+command-t-options	command-t.txt	/*command-t-options*
+command-t-requirements	command-t.txt	/*command-t-requirements*
+command-t-trouble-shooting	command-t.txt	/*command-t-trouble-shooting*
+command-t-usage	command-t.txt	/*command-t-usage*
+command-t-website	command-t.txt	/*command-t-website*
+command-t-wildignore	command-t.txt	/*command-t-wildignore*
+command-t.txt	command-t.txt	/*command-t.txt*
 cs	surround.txt	/*cs*
 ds	surround.txt	/*ds*
+g:CommandTAcceptSelectionMap	command-t.txt	/*g:CommandTAcceptSelectionMap*
+g:CommandTAcceptSelectionSplitMap	command-t.txt	/*g:CommandTAcceptSelectionSplitMap*
+g:CommandTAcceptSelectionTabMap	command-t.txt	/*g:CommandTAcceptSelectionTabMap*
+g:CommandTAcceptSelectionVSplitMap	command-t.txt	/*g:CommandTAcceptSelectionVSplitMap*
+g:CommandTAlwaysShowDotFiles	command-t.txt	/*g:CommandTAlwaysShowDotFiles*
+g:CommandTBackspaceMap	command-t.txt	/*g:CommandTBackspaceMap*
+g:CommandTCancelMap	command-t.txt	/*g:CommandTCancelMap*
+g:CommandTClearMap	command-t.txt	/*g:CommandTClearMap*
+g:CommandTCursorEndMap	command-t.txt	/*g:CommandTCursorEndMap*
+g:CommandTCursorLeftMap	command-t.txt	/*g:CommandTCursorLeftMap*
+g:CommandTCursorRightMap	command-t.txt	/*g:CommandTCursorRightMap*
+g:CommandTCursorStartMap	command-t.txt	/*g:CommandTCursorStartMap*
+g:CommandTDeleteMap	command-t.txt	/*g:CommandTDeleteMap*
+g:CommandTMatchWindowAtTop	command-t.txt	/*g:CommandTMatchWindowAtTop*
+g:CommandTMaxDepth	command-t.txt	/*g:CommandTMaxDepth*
+g:CommandTMaxFiles	command-t.txt	/*g:CommandTMaxFiles*
+g:CommandTMaxHeight	command-t.txt	/*g:CommandTMaxHeight*
+g:CommandTNeverShowDotFiles	command-t.txt	/*g:CommandTNeverShowDotFiles*
+g:CommandTScanDotDirectories	command-t.txt	/*g:CommandTScanDotDirectories*
+g:CommandTSelectNextMap	command-t.txt	/*g:CommandTSelectNextMap*
+g:CommandTSelectPrevMap	command-t.txt	/*g:CommandTSelectPrevMap*
+g:CommandTToggleFocusMap	command-t.txt	/*g:CommandTToggleFocusMap*
+g:bufExplorerDefaultHelp	bufexplorer.txt	/*g:bufExplorerDefaultHelp*
+g:bufExplorerDetailedHelp	bufexplorer.txt	/*g:bufExplorerDetailedHelp*
+g:bufExplorerFindActive	bufexplorer.txt	/*g:bufExplorerFindActive*
+g:bufExplorerReverseSort	bufexplorer.txt	/*g:bufExplorerReverseSort*
+g:bufExplorerShowDirectories	bufexplorer.txt	/*g:bufExplorerShowDirectories*
+g:bufExplorerShowRelativePath	bufexplorer.txt	/*g:bufExplorerShowRelativePath*
+g:bufExplorerShowTabBuffer	bufexplorer.txt	/*g:bufExplorerShowTabBuffer*
+g:bufExplorerShowUnlisted	bufexplorer.txt	/*g:bufExplorerShowUnlisted*
+g:bufExplorerSortBy	bufexplorer.txt	/*g:bufExplorerSortBy*
+g:bufExplorerSplitBelow	bufexplorer.txt	/*g:bufExplorerSplitBelow*
+g:bufExplorerSplitOutPathName	bufexplorer.txt	/*g:bufExplorerSplitOutPathName*
+g:bufExplorerSplitRight	bufexplorer.txt	/*g:bufExplorerSplitRight*
 g:snippets_dir	snipMate.txt	/*g:snippets_dir*
 g:snips_author	snipMate.txt	/*g:snips_author*
 i_CTRL-G_S	surround.txt	/*i_CTRL-G_S*


+:FufAddBookmark	fuf.jax	/*:FufAddBookmark*
+:FufAddBookmarkAsSelectedText	fuf.jax	/*:FufAddBookmarkAsSelectedText*
+:FufBookmark	fuf.jax	/*:FufBookmark*
+:FufBuffer	fuf.jax	/*:FufBuffer*
+:FufChangeList	fuf.jax	/*:FufChangeList*
+:FufDir	fuf.jax	/*:FufDir*
+:FufDirWithCurrentBufferDir	fuf.jax	/*:FufDirWithCurrentBufferDir*
+:FufDirWithFullCwd	fuf.jax	/*:FufDirWithFullCwd*
+:FufEditInfo	fuf.jax	/*:FufEditInfo*
+:FufFile	fuf.jax	/*:FufFile*
+:FufFileWithCurrentBufferDir	fuf.jax	/*:FufFileWithCurrentBufferDir*
+:FufFileWithFullCwd	fuf.jax	/*:FufFileWithFullCwd*
+:FufHelp	fuf.jax	/*:FufHelp*
+:FufJumpList	fuf.jax	/*:FufJumpList*
+:FufLine	fuf.jax	/*:FufLine*
+:FufMruCmd	fuf.jax	/*:FufMruCmd*
+:FufMruFile	fuf.jax	/*:FufMruFile*
+:FufQuickfix	fuf.jax	/*:FufQuickfix*
+:FufRenewCache	fuf.jax	/*:FufRenewCache*
+:FufTag	fuf.jax	/*:FufTag*
+:FufTagWithCursorWord	fuf.jax	/*:FufTagWithCursorWord*
+:FufTaggedFile	fuf.jax	/*:FufTaggedFile*
+abc	fuf.jax	/*abc*
+fuf	fuf.jax	/*fuf*
+fuf-abbreviation	fuf.jax	/*fuf-abbreviation*
+fuf-about	fuf.jax	/*fuf-about*
+fuf-author	fuf.jax	/*fuf-author*
+fuf-bookmark-mode	fuf.jax	/*fuf-bookmark-mode*
+fuf-buffer-mode	fuf.jax	/*fuf-buffer-mode*
+fuf-cache	fuf.jax	/*fuf-cache*
+fuf-callbackfile-mode	fuf.jax	/*fuf-callbackfile-mode*
+fuf-callbackitem-mode	fuf.jax	/*fuf-callbackitem-mode*
+fuf-changelist-mode	fuf.jax	/*fuf-changelist-mode*
+fuf-commands	fuf.jax	/*fuf-commands*
+fuf-contact	fuf.jax	/*fuf-contact*
+fuf-detailed-topics	fuf.jax	/*fuf-detailed-topics*
+fuf-dir-mode	fuf.jax	/*fuf-dir-mode*
+fuf-dot-sequence	fuf.jax	/*fuf-dot-sequence*
+fuf-file-mode	fuf.jax	/*fuf-file-mode*
+fuf-givencmd-mode	fuf.jax	/*fuf-givencmd-mode*
+fuf-givendir-mode	fuf.jax	/*fuf-givendir-mode*
+fuf-givenfile-mode	fuf.jax	/*fuf-givenfile-mode*
+fuf-help-mode	fuf.jax	/*fuf-help-mode*
+fuf-hiding-menu	fuf.jax	/*fuf-hiding-menu*
+fuf-information-file	fuf.jax	/*fuf-information-file*
+fuf-installation	fuf.jax	/*fuf-installation*
+fuf-introduction	fuf.jax	/*fuf-introduction*
+fuf-jumplist-mode	fuf.jax	/*fuf-jumplist-mode*
+fuf-line-mode	fuf.jax	/*fuf-line-mode*
+fuf-migemo	fuf.jax	/*fuf-migemo*
+fuf-modes	fuf.jax	/*fuf-modes*
+fuf-mrucmd-mode	fuf.jax	/*fuf-mrucmd-mode*
+fuf-mrufile-mode	fuf.jax	/*fuf-mrufile-mode*
+fuf-multiple-search	fuf.jax	/*fuf-multiple-search*
+fuf-options	fuf.jax	/*fuf-options*
+fuf-options-for-Bookmark-mode	fuf.jax	/*fuf-options-for-Bookmark-mode*
+fuf-options-for-all-modes	fuf.jax	/*fuf-options-for-all-modes*
+fuf-options-for-buffer-mode	fuf.jax	/*fuf-options-for-buffer-mode*
+fuf-options-for-changelist-mode	fuf.jax	/*fuf-options-for-changelist-mode*
+fuf-options-for-dir-mode	fuf.jax	/*fuf-options-for-dir-mode*
+fuf-options-for-file-mode	fuf.jax	/*fuf-options-for-file-mode*
+fuf-options-for-help-mode	fuf.jax	/*fuf-options-for-help-mode*
+fuf-options-for-jumplist-mode	fuf.jax	/*fuf-options-for-jumplist-mode*
+fuf-options-for-line-mode	fuf.jax	/*fuf-options-for-line-mode*
+fuf-options-for-mrucmd-mode	fuf.jax	/*fuf-options-for-mrucmd-mode*
+fuf-options-for-mrufile-mode	fuf.jax	/*fuf-options-for-mrufile-mode*
+fuf-options-for-quickfix-mode	fuf.jax	/*fuf-options-for-quickfix-mode*
+fuf-options-for-tag-mode	fuf.jax	/*fuf-options-for-tag-mode*
+fuf-options-for-taggedfile-mode	fuf.jax	/*fuf-options-for-taggedfile-mode*
+fuf-quickfix-mode	fuf.jax	/*fuf-quickfix-mode*
+fuf-reusing-window	fuf.jax	/*fuf-reusing-window*
+fuf-search-patterns	fuf.jax	/*fuf-search-patterns*
+fuf-sorting-of-completion-items	fuf.jax	/*fuf-sorting-of-completion-items*
+fuf-tag-mode	fuf.jax	/*fuf-tag-mode*
+fuf-taggedfile-mode	fuf.jax	/*fuf-taggedfile-mode*
+fuf-usage	fuf.jax	/*fuf-usage*
+fuf-vimrc-example	fuf.jax	/*fuf-vimrc-example*
+fuf.jax	fuf.jax	/*fuf.jax*
+fuzzyfinder	fuf.jax	/*fuzzyfinder*
+g:fuf_abbrevMap	fuf.jax	/*g:fuf_abbrevMap*
+g:fuf_bookmark_keyDelete	fuf.jax	/*g:fuf_bookmark_keyDelete*
+g:fuf_bookmark_prompt	fuf.jax	/*g:fuf_bookmark_prompt*
+g:fuf_bookmark_searchRange	fuf.jax	/*g:fuf_bookmark_searchRange*
+g:fuf_bookmark_switchOrder	fuf.jax	/*g:fuf_bookmark_switchOrder*
+g:fuf_buffer_mruOrder	fuf.jax	/*g:fuf_buffer_mruOrder*
+g:fuf_buffer_prompt	fuf.jax	/*g:fuf_buffer_prompt*
+g:fuf_buffer_switchOrder	fuf.jax	/*g:fuf_buffer_switchOrder*
+g:fuf_changelist_prompt	fuf.jax	/*g:fuf_changelist_prompt*
+g:fuf_changelist_switchOrder	fuf.jax	/*g:fuf_changelist_switchOrder*
+g:fuf_dir_exclude	fuf.jax	/*g:fuf_dir_exclude*
+g:fuf_dir_prompt	fuf.jax	/*g:fuf_dir_prompt*
+g:fuf_dir_switchOrder	fuf.jax	/*g:fuf_dir_switchOrder*
+g:fuf_enumeratingLimit	fuf.jax	/*g:fuf_enumeratingLimit*
+g:fuf_file_exclude	fuf.jax	/*g:fuf_file_exclude*
+g:fuf_file_prompt	fuf.jax	/*g:fuf_file_prompt*
+g:fuf_file_switchOrder	fuf.jax	/*g:fuf_file_switchOrder*
+g:fuf_help_cache_dir	fuf.jax	/*g:fuf_help_cache_dir*
+g:fuf_help_prompt	fuf.jax	/*g:fuf_help_prompt*
+g:fuf_help_switchOrder	fuf.jax	/*g:fuf_help_switchOrder*
+g:fuf_ignoreCase	fuf.jax	/*g:fuf_ignoreCase*
+g:fuf_infoFile	fuf.jax	/*g:fuf_infoFile*
+g:fuf_jumplist_prompt	fuf.jax	/*g:fuf_jumplist_prompt*
+g:fuf_jumplist_switchOrder	fuf.jax	/*g:fuf_jumplist_switchOrder*
+g:fuf_keyNextMode	fuf.jax	/*g:fuf_keyNextMode*
+g:fuf_keyNextPattern	fuf.jax	/*g:fuf_keyNextPattern*
+g:fuf_keyOpen	fuf.jax	/*g:fuf_keyOpen*
+g:fuf_keyOpenSplit	fuf.jax	/*g:fuf_keyOpenSplit*
+g:fuf_keyOpenTabpage	fuf.jax	/*g:fuf_keyOpenTabpage*
+g:fuf_keyOpenVsplit	fuf.jax	/*g:fuf_keyOpenVsplit*
+g:fuf_keyPrevMode	fuf.jax	/*g:fuf_keyPrevMode*
+g:fuf_keyPrevPattern	fuf.jax	/*g:fuf_keyPrevPattern*
+g:fuf_keyPreview	fuf.jax	/*g:fuf_keyPreview*
+g:fuf_keySwitchMatching	fuf.jax	/*g:fuf_keySwitchMatching*
+g:fuf_learningLimit	fuf.jax	/*g:fuf_learningLimit*
+g:fuf_line_prompt	fuf.jax	/*g:fuf_line_prompt*
+g:fuf_line_switchOrder	fuf.jax	/*g:fuf_line_switchOrder*
+g:fuf_maxMenuWidth	fuf.jax	/*g:fuf_maxMenuWidth*
+g:fuf_modesDisable	fuf.jax	/*g:fuf_modesDisable*
+g:fuf_mrucmd_exclude	fuf.jax	/*g:fuf_mrucmd_exclude*
+g:fuf_mrucmd_maxItem	fuf.jax	/*g:fuf_mrucmd_maxItem*
+g:fuf_mrucmd_prompt	fuf.jax	/*g:fuf_mrucmd_prompt*
+g:fuf_mrucmd_switchOrder	fuf.jax	/*g:fuf_mrucmd_switchOrder*
+g:fuf_mrufile_exclude	fuf.jax	/*g:fuf_mrufile_exclude*
+g:fuf_mrufile_maxItem	fuf.jax	/*g:fuf_mrufile_maxItem*
+g:fuf_mrufile_prompt	fuf.jax	/*g:fuf_mrufile_prompt*
+g:fuf_mrufile_switchOrder	fuf.jax	/*g:fuf_mrufile_switchOrder*
+g:fuf_patternSeparator	fuf.jax	/*g:fuf_patternSeparator*
+g:fuf_previewHeight	fuf.jax	/*g:fuf_previewHeight*
+g:fuf_promptHighlight	fuf.jax	/*g:fuf_promptHighlight*
+g:fuf_quickfix_prompt	fuf.jax	/*g:fuf_quickfix_prompt*
+g:fuf_quickfix_switchOrder	fuf.jax	/*g:fuf_quickfix_switchOrder*
+g:fuf_reuseWindow	fuf.jax	/*g:fuf_reuseWindow*
+g:fuf_smartBs	fuf.jax	/*g:fuf_smartBs*
+g:fuf_splitPathMatching	fuf.jax	/*g:fuf_splitPathMatching*
+g:fuf_tag_cache_dir	fuf.jax	/*g:fuf_tag_cache_dir*
+g:fuf_tag_prompt	fuf.jax	/*g:fuf_tag_prompt*
+g:fuf_tag_switchOrder	fuf.jax	/*g:fuf_tag_switchOrder*
+g:fuf_taggedfile_cache_dir	fuf.jax	/*g:fuf_taggedfile_cache_dir*
+g:fuf_taggedfile_prompt	fuf.jax	/*g:fuf_taggedfile_prompt*
+g:fuf_taggedfile_switchOrder	fuf.jax	/*g:fuf_taggedfile_switchOrder*
+g:fuf_timeFormat	fuf.jax	/*g:fuf_timeFormat*
+g:fuf_useMigemo	fuf.jax	/*g:fuf_useMigemo*


+"    Copyright: Copyright (C) 2001-2010 Jeff Lanzarotta
+"               Permission is hereby granted to use and distribute this code,
+"               with or without modifications, provided that this copyright
+"               notice is copied with it. Like anything else that's free,
+"               bufexplorer.vim is provided *as is* and comes with no
+"               warranty of any kind, either expressed or implied. In no
+"               event will the copyright holder be liable for any damages
+"               resulting from the use of this software.
+" Name Of File: bufexplorer.vim
+"  Description: Buffer Explorer Vim Plugin
+"   Maintainer: Jeff Lanzarotta (delux256-vim at yahoo dot com)
+" Last Changed: Tuesday, 16 Feb 2010
+"      Version: See g:bufexplorer_version for version number.
+"        Usage: This file should reside in the plugin directory and be
+"               automatically sourced.
+"               You may use the default keymappings of
+"                 <Leader>be  - Opens BE.
+"                 <Leader>bs  - Opens horizontally window BE.
+"                 <Leader>bv  - Opens vertically window BE.
+"               Or you can use
+"                 ":BufExplorer"                - Opens BE.
+"                 ":BufExplorerHorizontalSplit" - Opens horizontally window BE.
+"                 ":BufExplorerVerticalSplit"   - Opens vertically window BE.
+"               For more help see supplied documentation.
+"      History: See supplied documentation.
+" Exit quickly if already running or when 'compatible' is set. {{{1
+if exists("g:bufexplorer_version") || &cp
+  finish
+" Version number
+let g:bufexplorer_version = "7.2.7"
+" Check for Vim version 700 or greater {{{1
+if v:version < 700
+  echo "Sorry, bufexplorer ".g:bufexplorer_version."\nONLY runs with Vim 7.0 and greater."
+  finish
+" Public Interface {{{1
+if maparg("<Leader>be") =~ 'BufExplorer'
+  nunmap <Leader>be
+if maparg("<Leader>bs") =~ 'BufExplorerHorizontalSplit'
+  nunmap <Leader>bs
+if maparg("<Leader>bv") =~ 'BufExplorerVerticalSplit'
+  nunmap <Leader>bv
+nmap <script> <silent> <unique> <Leader>be :BufExplorer<CR>
+nmap <script> <silent> <unique> <Leader>bs :BufExplorerHorizontalSplit<CR>
+nmap <script> <silent> <unique> <Leader>bv :BufExplorerVerticalSplit<CR>
+" Create commands {{{1
+command! BufExplorer :call StartBufExplorer(has ("gui") ? "drop" : "hide edit")
+command! BufExplorerHorizontalSplit :call BufExplorerHorizontalSplit()
+command! BufExplorerVerticalSplit :call BufExplorerVerticalSplit()
+" BESet {{{1
+function! s:BESet(var, default)
+  if !exists(a:var)
+    if type(a:default)
+      exec "let" a:var "=" string(a:default)
+    else
+      exec "let" a:var "=" a:default
+    endif
+    return 1
+  endif
+  return 0
+" BEReset {{{1
+function! s:BEReset()
+  " Build initial MRUList. This makes sure all the files specified on the
+  " command line are picked up correctly.
+  let s:MRUList = range(1, bufnr('$'))
+  " Initialize one tab space array, ignore zero-based tabpagenr
+  " since all tabpagenr's start at 1.
+  " -1 signifies this is the first time we are referencing this
+  " tabpagenr.
+  let s:tabSpace = [ [-1], [-1] ]
+" Setup the autocommands that handle the MRUList and other stuff. {{{1
+" This is only done once when Vim starts up.
+augroup BufExplorerVimEnter
+  autocmd!
+  autocmd VimEnter * call s:BESetup()
+augroup END
+" BESetup {{{1
+function! s:BESetup()
+  call s:BEReset()
+  " Now that the MRUList is created, add the other autocmds.
+  augroup BufExplorer
+    " Deleting autocommands in case the script is reloaded
+    autocmd!
+    autocmd TabEnter * call s:BETabEnter()
+    autocmd BufNew * call s:BEAddBuffer()
+    autocmd BufEnter * call s:BEActivateBuffer()
+    autocmd BufWipeOut * call s:BEDeactivateBuffer(1)
+    autocmd BufDelete * call s:BEDeactivateBuffer(0)
+    autocmd BufWinEnter \[BufExplorer\] call s:BEInitialize()
+    autocmd BufWinLeave \[BufExplorer\] call s:BECleanup()
+    autocmd SessionLoadPost * call s:BEReset()
+  augroup END
+  " Remove the VimEnter event as it is no longer needed
+  augroup SelectBufVimEnter
+    autocmd!
+  augroup END
+" BETabEnter {{{1
+function! s:BETabEnter()
+  " Make s:tabSpace 1-based
+  if empty(s:tabSpace) || len(s:tabSpace) < (tabpagenr() + 1)
+    call add(s:tabSpace, [-1])
+  endif
+" BEAddBuffer {{{1
+function! s:BEAddBuffer()
+  if !exists('s:raw_buffer_listing') || empty(s:raw_buffer_listing)
+    silent let s:raw_buffer_listing = s:BEGetBufferInfo(0)
+  else
+    " We cannot use :buffers! or :ls! to gather information 
+    " about this buffer since it was only just added.
+    " Any changes to the buffer (setlocal buftype, ...) 
+    " happens after this event fires.
+    "
+    " So we will indicate the :buffers! command must be re-run.
+    " This should help with the performance of the plugin.
+    " There are some checks which can be performed 
+    " before deciding to refresh the buffer list.
+    let bufnr = expand('<abuf>') + 0
+    if s:BEIgnoreBuffer(bufnr) == 1
+      return 
+    else
+      let s:refreshBufferList = 1
+    endif
+  endif
+  call s:BEActivateBuffer()
+" ActivateBuffer {{{1
+function! s:BEActivateBuffer()
+  let b = bufnr("%")
+  let l = get(s:tabSpace, tabpagenr(), [])
+  if s:BEIgnoreBuffer(b) == 1
+    return
+  endif
+  if !empty(l) && l[0] == '-1'
+    " The first time we add a tab Vim uses the current 
+    " buffer as it's starting page, even though we are about
+    " to edit a new page (BufEnter triggers after), so
+    " remove the -1 entry indicating we have covered this case.
+    let l = []
+    let s:tabSpace[tabpagenr()] = l
+  elseif empty(l) || index(l, b) == -1
+    " Add new buffer to this tab buffer list
+    let l = add(l, b)
+    let s:tabSpace[tabpagenr()] = l
+    if g:bufExplorerOnlyOneTab == 1
+      " If a buffer can only be available in 1 tab page
+      " ensure this buffer is not present in any other tabs
+      let tabidx = 1
+      while tabidx < len(s:tabSpace)
+        if tabidx != tabpagenr()
+          let bufidx = index(s:tabSpace[tabidx], b)
+          if bufidx != -1
+            call remove(s:tabSpace[tabidx], bufidx)
+          endif
+        endif
+        let tabidx = tabidx + 1
+      endwhile
+    endif
+  endif
+  call s:BEMRUPush(b)
+  if exists('s:raw_buffer_listing') && !empty(s:raw_buffer_listing)
+    " Check if the buffer exists, but was deleted previously
+    " Careful use of ' and " so we do not have to escape all the \'s
+    " Regex: ^\s*bu\>
+    "        ^ - Starting at the beginning of the string
+    "        \s* - optional whitespace
+    "        b - Vim's buffer number
+    "        u\> - the buffer must be unlisted
+    let shortlist = filter(copy(s:raw_buffer_listing), "v:val.attributes =~ '".'^\s*'.b.'u\>'."'")
+    if !empty(shortlist)
+      " If it is unlisted (ie deleted), but now we editing it again 
+      " rebuild the buffer list.
+      let s:refreshBufferList = 1
+    endif
+  endif
+" BEDeactivateBuffer {{{1
+function! s:BEDeactivateBuffer(remove)
+  let _bufnr = str2nr(expand("<abuf>"))
+  call s:BEMRUPop(_bufnr)
+  if a:remove
+    call s:BEDeleteBufferListing(_bufnr)
+  else
+    let s:refreshBufferList = 1
+  endif
+" BEMRUPop {{{1
+function! s:BEMRUPop(buf)
+  call filter(s:MRUList, 'v:val != '.a:buf)
+" BEMRUPush {{{1
+function! s:BEMRUPush(buf)
+  if s:BEIgnoreBuffer(a:buf) == 1
+    return
+  endif
+  " Remove the buffer number from the list if it already exists.
+  call s:BEMRUPop(a:buf)
+  " Add the buffer number to the head of the list.
+  call insert(s:MRUList,a:buf)
+" BEInitialize {{{1
+function! s:BEInitialize()
+  let s:_insertmode = &insertmode
+  set noinsertmode
+  let s:_showcmd = &showcmd
+  set noshowcmd
+  let s:_cpo = &cpo
+  set cpo&vim
+  let s:_report = &report
+  let &report = 10000
+  let s:_list = &list
+  set nolist
+  setlocal nonumber
+  setlocal foldcolumn=0
+  setlocal nofoldenable
+  setlocal cursorline
+  setlocal nospell
+  setlocal nobuflisted
+  let s:running = 1
+" BEIgnoreBuffer 
+function! s:BEIgnoreBuffer(buf)
+  " Check to see if this buffer should be ignore by BufExplorer.
+  " Skip temporary buffers with buftype set.
+  if empty(getbufvar(a:buf, "&buftype") == 0)
+    return 1
+  endif
+  " Skip unlisted buffers.
+  if buflisted(a:buf) == 0
+    return 1
+  endif
+  " Skip buffers with no name.
+  if empty(bufname(a:buf)) == 1
+    return 1
+  endif
+  " Do not add the BufExplorer window to the list.
+  if fnamemodify(bufname(a:buf), ":t") == s:name
+    return 1
+  endif
+  if index(s:MRU_Exclude_List, bufname(a:buf)) >= 0
+    return 1
+  end
+  return 0 
+" BECleanup {{{1
+function! s:BECleanup()
+  let &insertmode = s:_insertmode
+  let &showcmd = s:_showcmd
+  let &cpo = s:_cpo
+  let &report = s:_report
+  let &list = s:_list
+  let s:running = 0
+  let s:splitMode = ""
+  delmarks!
+" BufExplorerHorizontalSplit {{{1
+function! BufExplorerHorizontalSplit()
+  let s:splitMode = "sp"
+  exec "BufExplorer"
+" BufExplorerVerticalSplit {{{1
+function! BufExplorerVerticalSplit()
+  let s:splitMode = "vsp"
+  exec "BufExplorer"
+" StartBufExplorer {{{1
+function! StartBufExplorer(open)
+  let name = s:name
+  if !has("win32")
+    " On non-Windows boxes, escape the name so that is shows up correctly.
+    let name = escape(name, "[]")
+  endif
+  " Make sure there is only one explorer open at a time.
+  if s:running == 1
+    " Go to the open buffer.
+    if has("gui")
+      exec "drop" name
+    endif
+    return
+  endif
+  " Add zero to ensure the variable is treated as a Number.
+  let s:originBuffer = bufnr("%") + 0
+  " Create or rebuild the raw buffer list if necessary.
+  if !exists('s:raw_buffer_listing') || 
+        \ empty(s:raw_buffer_listing) ||
+        \ s:refreshBufferList == 1
+    silent let s:raw_buffer_listing = s:BEGetBufferInfo(0)
+  endif
+  let copy = copy(s:raw_buffer_listing)
+  if (g:bufExplorerShowUnlisted == 0)
+    call filter(copy, 'v:val.attributes !~ "u"')
+  endif
+  " We may have to split the current window.
+  if (s:splitMode != "")
+    " Save off the original settings.
+    let [_splitbelow, _splitright] = [&splitbelow, &splitright]
+    " Set the setting to ours.
+    let [&splitbelow, &splitright] = [g:bufExplorerSplitBelow, g:bufExplorerSplitRight]
+    " Do it.
+    exe 'keepalt '.s:splitMode
+    " Restore the original settings.
+    let [&splitbelow, &splitright] = [_splitbelow, _splitright]
+  endif
+  if !exists("b:displayMode") || b:displayMode != "winmanager"
+    " Do not use keepalt when opening bufexplorer to allow the buffer that we are
+    " leaving to become the new alternate buffer
+    exec "silent keepjumps ".a:open." ".name
+  endif
+  call s:BEDisplayBufferList()
+" BEDisplayBufferList {{{1
+function! s:BEDisplayBufferList()
+  " Do not set bufhidden since it wipes out 
+  " the data if we switch away from the buffer 
+  " using CTRL-^
+  setlocal buftype=nofile
+  setlocal modifiable
+  setlocal noswapfile
+  setlocal nowrap
+  " Delete all previous lines to the black hole register
+  call cursor(1,1)
+  exec 'silent! normal! "_dG'
+  call s:BESetupSyntax()
+  call s:BEMapKeys()
+  call setline(1, s:BECreateHelp())
+  call s:BEBuildBufferList()
+  call cursor(s:firstBufferLine, 1)
+  if !g:bufExplorerResize
+    normal! zz
+  endif
+  setlocal nomodifiable
+" BEMapKeys {{{1
+function! s:BEMapKeys()
+  if exists("b:displayMode") && b:displayMode == "winmanager"
+    nnoremap <buffer> <silent> <tab> :call <SID>BESelectBuffer("tab")<cr>
+  endif
+  nnoremap <buffer> <silent> <F1>          :call <SID>BEToggleHelp()<cr>
+  nnoremap <buffer> <silent> <2-leftmouse> :call <SID>BESelectBuffer()<cr>
+  nnoremap <buffer> <silent> <cr>          :call <SID>BESelectBuffer()<cr>
+  nnoremap <buffer> <silent> o             :call <SID>BESelectBuffer()<cr>
+  nnoremap <buffer> <silent> t             :call <SID>BESelectBuffer("tab")<cr>
+  nnoremap <buffer> <silent> <s-cr>        :call <SID>BESelectBuffer("tab")<cr>
+  nnoremap <buffer> <silent> d             :call <SID>BERemoveBuffer("delete", "n")<cr>
+  xnoremap <buffer> <silent> d             :call <SID>BERemoveBuffer("delete", "v")<cr>
+  nnoremap <buffer> <silent> D             :call <SID>BERemoveBuffer("wipe", "n")<cr>
+  xnoremap <buffer> <silent> D             :call <SID>BERemoveBuffer("wipe", "v")<cr>
+  nnoremap <buffer> <silent> m             :call <SID>BEMRUListShow()<cr>
+  nnoremap <buffer> <silent> p             :call <SID>BEToggleSplitOutPathName()<cr>
+  nnoremap <buffer> <silent> q             :call <SID>BEClose("quit")<cr>
+  nnoremap <buffer> <silent> r             :call <SID>BESortReverse()<cr>
+  nnoremap <buffer> <silent> R             :call <SID>BEToggleShowRelativePath()<cr>
+  nnoremap <buffer> <silent> s             :call <SID>BESortSelect()<cr>
+  nnoremap <buffer> <silent> S             :call <SID>BEReverseSortSelect()<cr>
+  nnoremap <buffer> <silent> u             :call <SID>BEToggleShowUnlisted()<cr>
+  nnoremap <buffer> <silent> f             :call <SID>BEToggleFindActive()<cr>
+  nnoremap <buffer> <silent> T             :call <SID>BEToggleShowTabBuffer()<cr>
+  nnoremap <buffer> <silent> B             :call <SID>BEToggleOnlyOneTab()<cr>
+  for k in ["G", "n", "N", "L", "M", "H"]
+    exec "nnoremap <buffer> <silent>" k ":keepjumps normal!" k."<cr>"
+  endfor
+" BESetupSyntax {{{1
+function! s:BESetupSyntax()
+  if has("syntax")
+    syn match bufExplorerHelp         "^\".*" contains=bufExplorerSortBy,bufExplorerMapping,bufExplorerTitle,bufExplorerSortType,bufExplorerToggleSplit,bufExplorerToggleOpen
+    syn match bufExplorerOpenIn       "Open in \w\+ window" contained
+    syn match bufExplorerSplit        "\w\+ split" contained
+    syn match bufExplorerSortBy       "Sorted by .*" contained contains=bufExplorerOpenIn,bufExplorerSplit
+    syn match bufExplorerMapping      "\" \zs.\+\ze :" contained
+    syn match bufExplorerTitle        "Buffer Explorer.*" contained
+    syn match bufExplorerSortType     "'\w\{-}'" contained
+    syn match bufExplorerBufNbr       /^\s*\d\+/
+    syn match bufExplorerToggleSplit  "toggle split type" contained
+    syn match bufExplorerToggleOpen   "toggle open mode" contained
+    syn match bufExplorerModBuf       /^\s*\d\+.\{4}+.*/
+    syn match bufExplorerLockedBuf    /^\s*\d\+.\{3}[\-=].*/
+    syn match bufExplorerHidBuf       /^\s*\d\+.\{2}h.*/
+    syn match bufExplorerActBuf       /^\s*\d\+.\{2}a.*/
+    syn match bufExplorerCurBuf       /^\s*\d\+.%.*/
+    syn match bufExplorerAltBuf       /^\s*\d\+.#.*/
+    syn match bufExplorerUnlBuf       /^\s*\d\+u.*/
+    hi def link bufExplorerBufNbr Number
+    hi def link bufExplorerMapping NonText
+    hi def link bufExplorerHelp Special
+    hi def link bufExplorerOpenIn Identifier
+    hi def link bufExplorerSortBy String
+    hi def link bufExplorerSplit NonText
+    hi def link bufExplorerTitle NonText
+    hi def link bufExplorerSortType bufExplorerSortBy
+    hi def link bufExplorerToggleSplit bufExplorerSplit
+    hi def link bufExplorerToggleOpen bufExplorerOpenIn
+    hi def link bufExplorerActBuf Identifier
+    hi def link bufExplorerAltBuf String
+    hi def link bufExplorerCurBuf Type
+    hi def link bufExplorerHidBuf Constant
+    hi def link bufExplorerLockedBuf Special
+    hi def link bufExplorerModBuf Exception
+    hi def link bufExplorerUnlBuf Comment
+  endif
+" BEToggleHelp {{{1
+function! s:BEToggleHelp()
+  let g:bufExplorerDetailedHelp = !g:bufExplorerDetailedHelp
+  setlocal modifiable
+  " Save position.
+  normal! ma
+  " Remove old header.
+  if (s:firstBufferLine > 1)
+    exec "keepjumps 1,".(s:firstBufferLine - 1) "d _"
+  endif
+  call append(0, s:BECreateHelp())
+  silent! normal! g`a
+  delmarks a
+  setlocal nomodifiable
+  if exists("b:displayMode") && b:displayMode == "winmanager"
+    call WinManagerForceReSize("BufExplorer")
+  endif
+" BEGetHelpStatus {{{1
+function! s:BEGetHelpStatus()
+  let ret = '" Sorted by '.((g:bufExplorerReverseSort == 1) ? "reverse " : "").g:bufExplorerSortBy
+  let ret .= ' | '.((g:bufExplorerFindActive == 0) ? "Don't " : "")."Locate buffer"
+  let ret .= ((g:bufExplorerShowUnlisted == 0) ? "" : " | Show unlisted")
+  let ret .= ((g:bufExplorerShowTabBuffer == 0) ? "" : " | Show buffers/tab")
+  let ret .= ((g:bufExplorerOnlyOneTab == 1) ? "" : " | One tab / buffer")
+  let ret .= ' | '.((g:bufExplorerShowRelativePath == 0) ? "Absolute" : "Relative")
+  let ret .= ' '.((g:bufExplorerSplitOutPathName == 0) ? "Full" : "Split")." path"
+  return ret
+" BECreateHelp {{{1
+function! s:BECreateHelp()
+  if g:bufExplorerDefaultHelp == 0 && g:bufExplorerDetailedHelp == 0
+    let s:firstBufferLine = 1
+    return []
+  endif
+  let header = []
+  if g:bufExplorerDetailedHelp == 1
+    call add(header, '" Buffer Explorer ('.g:bufexplorer_version.')')
+    call add(header, '" --------------------------')
+    call add(header, '" <F1> : toggle this help')
+    call add(header, '" <enter> or o or Mouse-Double-Click : open buffer under cursor')
+    call add(header, '" <shift-enter> or t : open buffer in another tab')
+    call add(header, '" d : delete buffer')
+    call add(header, '" D : wipe buffer')
+    call add(header, '" f : toggle find active buffer')
+    call add(header, '" p : toggle spliting of file and path name')
+    call add(header, '" q : quit')
+    call add(header, '" r : reverse sort')
+    call add(header, '" R : toggle showing relative or full paths')
+    call add(header, '" s : cycle thru "sort by" fields '.string(s:sort_by).'')
+    call add(header, '" S : reverse cycle thru "sort by" fields')
+    call add(header, '" T : toggle if to show only buffers for this tab or not')
+    call add(header, '" u : toggle showing unlisted buffers')
+  else
+    call add(header, '" Press <F1> for Help')
+  endif
+  if (!exists("b:displayMode") || b:displayMode != "winmanager") || (b:displayMode == "winmanager" && g:bufExplorerDetailedHelp == 1)
+    call add(header, s:BEGetHelpStatus())
+    call add(header, '"=')
+  endif
+  let s:firstBufferLine = len(header) + 1
+  return header
+" BEGetBufferInfo {{{1
+function! s:BEGetBufferInfo(bufnr)
+  redir => bufoutput
+  buffers!
+  redir END
+  if (a:bufnr > 0)
+    " Since we are only interested in this specified buffer 
+    " remove the other buffers listed
+    let bufoutput = substitute(bufoutput."\n", '^.*\n\(\s*'.a:bufnr.'\>.\{-}\)\n.*', '\1', '')
+  endif
+  let [all, allwidths, listedwidths] = [[], {}, {}]
+  for n in keys(s:types)
+    let allwidths[n] = []
+    let listedwidths[n] = []
+  endfor
+  for buf in split(bufoutput, '\n')
+    let bits = split(buf, '"')
+    let b = {"attributes": bits[0], "line": substitute(bits[2], '\s*', '', '')}
+    for [key, val] in items(s:types)
+      let b[key] = fnamemodify(bits[1], val)
+    endfor
+    if getftype(b.fullname) == "dir" && g:bufExplorerShowDirectories == 1
+      let b.shortname = "<DIRECTORY>"
+    endif
+    call add(all, b)
+    for n in keys(s:types)