sponsor Vim development Vim logo Vim Book Ad

directoryBrowser : Directory listing and file operations in vim (replaced by vimExplorer)

 script karma  Rating 7/7, Downloaded by 6275  Comments, bugs, improvements  Vim wiki

created by
Alexandre Viau
script type
See latest version on github: https://github.com/viaa/VimPlugins

This plugin which was a Windows-only plugin, is now replaced by another plugin (written from scratch) called vimExplorer which uses the ls commands and is a much improved version of directoryBrowser. It works for Linux and on Windows using the cygwin or UnxUtils ls command.

If you insist using directoryBrowser for Windows, you may download it from this page, but I will not update new versions of it. I suggest to use vimExplorer instead: http://www.vim.org/scripts/script.php?script_id=4360
install details

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
directoryBrowser.vim 5.0 2012-11-29 7.0 Alexandre Viau - Added directory marks like similar to marks in vim using the m key but to mark directories instead of positions in files and ' or ` or ; to return to that directory. The maps are automatically activated on a directory listing. For example, press mw to mark the c:\windows directory, then do 'w (or `w or ;w) to return to that directory. All letters may be used from a to z, A to Z and 0 to 9. Press '' to view a list of all the bookmarked directories sorted by mark, or press ;; to view the same list but sorted by paths. When '' or ;; is pressed, the list is shown and a mark is asked as input to goto to its directory, this is another way that marks are used.
- New functions to save data to a configuration files, used by the directory marking feature, it allows for now to save the marked directories.
directoryBrowser.vim 4.4.3 2012-11-21 7.0 Alexandre Viau " 4.4.3     - Removed <space>f2 to find files, there was already <space>f3 mapped to find files.
"           - Removed an extra tabe in dirFind and dirGrep functions that opened an extra tab for nothing.
"           - Modified paths in the dirFind and dirGrep functions
directoryBrowser.vim 4.4.2 2012-11-19 7.0 Alexandre Viau Changed the file format to unix
directoryBrowser.vim 4.4.1 2012-11-17 7.0 Alexandre Viau - open file with browser.vim plugin that use the links browser as an external tool
- change mapping \ key by <enter> because \ is may be often used in other plugins
directoryBrowser.vim 4.4 2012-09-15 7.0 Alexandre Viau Small modification to the search string for finding previously browsed directory.
directoryBrowser.vim 4.3 2012-09-12 7.0 Alexandre Viau - Corrected bug concerning the @H browsing history register.
- Corrected issues with cursor position on previously browsed files and directory.
-  Corrected bug when first time vim opened and directory listed, there was an error message saying that empty dictionnary, that is because no directory was browsed so the variables to index the dictionnary were empty.
-  Small amelioration of the isDir() detection function, added \s\{4\} to the time regex. I add problems with a file menu that this function was detecting as a directory listing but it was not.
-  Two commands added to the compile/run sample menu in the help section, these 2 commands are to source a vim script and source a vim macro.
directoryBrowser.vim 4.2 2012-09-10 7.0 Alexandre Viau Modified <space>h, <space>l behavior. Added the ability to remember last position of the cursor in a directory so that if a user returns to a previously browsed directory, the cursor will position itself to the file it was last time in that directory.
directoryBrowser.vim 4.1 2012-09-07 7.0 Alexandre Viau - Fixed 2 places in code (in dirDelete and recursive grep) that were not changed to use the path variables.
- Added <space><enter> open utl link under cursor (utl plugin required)
directoryBrowser.vim 4.0 2012-09-04 7.0 Alexandre Viau - 2012-09-04 11:43:43 (mar.) Changes to many code not to use registers to keep paths info, but global variables instead. These global variables may be used anywhere in vim, and if the registers are needed to paste path information, do <space>p to copy the path info from the variables to the registers. Now registers will not be overwritten by the plugin except for the @H register which contains the browsing history.
- 2012-09-04 11:45:27 (mar.) There are new global variables similar to the variable to keep path info, but they keep the previous file path info. This is used to execute actions from one window or tab to another, one example is the contextual menu, other example may be project files with link to compile, run etc.
- 2012-09-03 11:05:17 (lun.) Modified <space>M now the contextual menu is very useful as it opens in a split window and may execute actions on the file where the cursor was before switching to the menu window. That file may be a file in edition or a directory listing. So instead of copying links at the top of the file like in previous versions of the plugin, now the menu is opened in a split window (or a tab). It is still possible to put links at the top of files if the links are specific to the file, but it is more convenient to have it in a split window. Autocommands onEnter and onLeave window/tab where added to make this possible, these autocommands copy the paths when entering or leaving a window/tab and keep the previous path in registers and if the file moved to is the menu file, the current file path registers do not contain the path of the menu file like other files but they contain the path of the previous file, so that it may be used for lauching actions on the previous file be it a file in edition or a file in a directory listing.
- 2012-09-03 23:25:23 (lun.) I included a big part of my own to-date contextual menu as an example in this plugin usage section. This one works with the new modifications concerning the menu file displayed in a window/tab.
- 2012-09-04 00:18:07 (mar.) The paths are not copied anymore to the registers at each operations, only when the user presses <space>p the paths are copied to register for pasting.
- 2012-08-31 05:36:44 (ven.) Modified <space><esc> to execute the command in the current path of the current directory listing if no path specified.
- 2012-08-31 05:41:22 (ven.) Modified <space>i and <space>m to changed copy the path at the same time the listing is changed and to change vim's directory to the copied directory.
directoryBrowser.vim 3.3 2012-08-30 7.0 Alexandre Viau - <space>J show browsing history (show list of paths and files browsed in this session. Useful to go back to previously browsed directories even to go return to directories of files that were opened or run etc. The list may be saved with the <space>w command. Utl plugin required.
- Removed a tab character that was invisible after the <space>z command
directoryBrowser.vim 3.2 2012-08-27 7.0 Alexandre Viau - Modified the behavior of the <space>C command, in some cases it was not changing to the directory
directoryBrowser.vim 3.1 2012-08-27 7.0 Alexandre Viau - Don't use version 3.0, use version 3.1 instead.
- <space><tab> open default 'browsing history' file called 'dirlist_', useful for fast browsing
directoryBrowser.vim 3 2012-08-26 7.0 Alexandre Viau - \a to \z list a:\ to z:\ root directories in current buffer (appended)
- \A to \Z list a:\ to z:\ root directories in new buffer
- -a to -z list a:\ to z:\ root directories in split window
- -A to -Z list a:\ to z:\ root directories in vertical split window
- =a to =z list a:\ to z:\ root directories in new tab
- f/ Change backslash to forwardslash on the current line
- f<Bslash> Change forwardslash to backslash on the current line
- ff<Bslash> Change backslash to double backslash on the current line
- fff<Bslash> Change forwardslash to double backslash on the current line
- ffff<Bslash> Change doublebackslash to backslash the current line
- <space><f5> copy current file's path+filename relative to current directory with backslash
- <space><f6> copy current file's path+filename relative to current directory with forward slash
- <space><f7> copy current file's path only (with backslash)
- <space><f8> copy current file's path only (with forward slash)
- <space><f9> copy current file's filename only (without path)
- <space><f10> copy current file's path+filename relative to current directory with the line number (in utl format)
- <space>! Layout 1 (2 vertical panes)
- <space>@ Layout 2 (2 horizontal panes)
- <space># Layout 3 (3 panes: 2 vertical, 1 horizontal)
- <space>$ Layout 4 (4 panes)
- <space>^ Layout 6 (6 panes)
- <space>* Layout 8 (8 panes)
- <space>) Layout 10 (10 panes)
- <space>- toggle show file owner
- <space>0 to change directory attributes
- <space>9 to change directory time display and sorting
- <space>a interchanged with <space>A
- <space>b changed list buffers to open in new tab instead of opening in current tab (not related to directory browsing but useful. Requires utl.vim)
- <space>I open file in internet explorer
- <space>L to list current directory and its subdirectories recursively
- <space>M open a "contextual menu" to run operations on files (requires the utl plugin)
- <space>n new file in new tab
- <space>N new file in current tab
- <space>O open file in notepad
- <space>q show available volumes
- <space>Q show available volumes with names and details about shares and computers
- <space>T open directory in new tab
- <space>u open filename in clipboard current tab
- <space>U open filename in clipboard in new tab
- <space>w to save (append) directory listing to disk (useful for shorcuts)
- <space>W to save (overwrite) directory listing to disk
- <space>X to show directory and subdirectories structure of current directory using the "tree" command
- <space>y list the directory of the path in clipboard (with or without filename) in a new split window
- <space>Y list the directory of the path in clipboard (with or without filename) in the current buffer
- <space>z open utl link under cursor in a split window (utl plugin required)
- <space>Z open utl link under cursor in tab (utl plugin required)
- Remove dirOfStr language requirement. Searching for a language specific string was not needed.
- Changes with cursor position and listing position specially using <space>i and <space>m.
- Set g:dir instead of g:dirBuf as defaut when doing \A..\Z (listing drives using capital letters) with is more convenient because this way one my list content of another drive in the same buffer using the \ shortcut key so one may have all his directory browsing inside the same buffer, with is nice if saved to file using <space>w for later viewing and continuation.
- Added <space>F to list the directory of the current file
- Changed behavior of <space>i "go to previous dir listing", now it will go to top of current dir then to previous dir if <space>i is typed a second time.
- Modified search string to find current directory (not to conflict with the directory showned by the tree command)
- uu, uuu, uuuu, uuuuu, UU, UUU, UUUU, uur abbreviations used with the utl plugin to insert links and references
directoryBrowser.vim 2 2012-08-10 7.0 Alexandre Viau I modified the number of caracters to read between the beginning of line and the filename, in win2000 it was 39, in xp/7 36, I set it to 36 because I assume most people use on of these versions.
directoryBrowser.vim 1 2012-08-09 7.0 Alexandre Viau Initial upload
ip used for rating:

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