winmanager : A windows style IDE for Vim 6.0
| script karma
Downloaded by 80535
Comments, bugs, improvements
script versions (upload new version)
|winmanager: A classical windows type environment for vim6.0
Snapshot : http://robotics.eecs.berkeley.edu/~srinath/vim/snapshot2.JPG
Detailed Instructions : http://robotics.eecs.berkeley.edu/~srinath/vim/winmanager.htm
Upates : http://robotics.eecs.berkeley.edu/~srinath/vim/winmanager-2.0.htm
winmanager is a plugin which implements a classical windows type IDE in Vim-6.0. Basically, you have the directory tree
and the buffer list as 2 windows which stay on the left and the editing is done in a seperate area on the left. People
have already made excellent File and Buffer explorers seperately and I thought that it might be a cool idea to combine
them both. winmanager.vim combines the standard File Explorer which ships with Vim6.0 and a Buffer Explorer written by
Jeff Lanzarotta into one package. It has the following features:
1. the buffer listing is dynamic: i.e as you keep changing windows, editing new files, etc, the buffer list changes
dynamically. the window also resizes dynamically, i.e it tries to occupy the minimum possible space to display all the
currently listed windows. also, only the filename (i.e without path) is displayed in this window. however, the full path
name is echoed on the command line as one moves around.
2. the file explorer window doesn't actually edit a directory. Its a new empty file with modifiable off, etc. so that it
doesnt eat up buffer numbers as you roam around the directory tree. I found the original behaviour slightly annoying...
Also, I didnt find a way to change drives i.e go from c:/ to h:/ in the original explorer.vim. therefore i have added a
tiny new mapping 'C' which changes the currently displayed directory to pwd.
|For version >= 2.0
1. copy the file to your $HOME/.vim or $HOME\vimfiles directory
2. unzip it (its a zip file) at that location. this should create the files
i . This version of winmanager ONLY works if you have the latest version
bufexplorer.vim. (vimscript #42).
The idea is that winmanager will no longer contain a duplicate copy
of bufexplorer.vim. This reduces script bloat, makes updates easier
and in genral makes the world a better place.
3. vim -c "helptags ~/.vim/doc" -c "q" (unix)
vim -c "helptags ~/vimfiles/doc" -c "q" (windows)
(this step should install winmanager.txt as a local help file on your
system. if this doesnt work, see ":he add-local-help" to see how to do
You will also need to change the mappings you might have used with
map <c-w><c-f> :FirstExplorerWindow<cr>
map <c-w><c-b> :BottomExplorerWindow<cr>
map <c-w><c-t> :WMToggle<cr>
and the variable name g:bufExplorerWidth has been changed to
g:winManagerWidth just to be more consistent.
Click on the package to download.
ip used for rating:
||Sorry, but I just found out that I had uploaded a week old version last time which didnt have any of the promised new features, namely favorite dirs, improved wintagexplorer etc. Its a huge surprise that I didnt get flooded with complaints! oh well.. also fixed a few minor bugs with both winmanager.vim and wintagexplorer.vim, so this is not a completely wasted upload.
Please see release notes for version 2.2 for changes.
Once again, you need vimscript #42 (bufexplorer.vim) for this to work.
1. The file explorer now has a favorite directories option. The list of
favourite directories is shown above the current listing with '+'
signs prefixed to each fav dir. In order to change to a favorite
directory, you just go to that dir and press <enter>. Set g:favDirs
in your ~/.vimrc to use set a default list of favorite directories.
This is a new-line seperated list of directories. For example:
let g:favDirs =
After startup, you can use 'f' to add the currently displayed
directory to the favourites.
NOTE: Use full path names. Use a trailing back-slash is safe.
NOTE: Use double quotes to enter a new-line.
NOTE: By default, $HOME is always included in the list. Do *not*
include it in g:favDirs.
2. wintagexplorer.vim now has a feature where it saves its display in a
file .vimtagsdisplay in the tags directory. This speeds up display
next time you use wintagexplorer. useful if you work with large tags
let g:saveTagsDisplay = 0
in your ~/.vimrc to disable this feature.
3. There are a couple of more functions which winmanager exposes.
returns the n^th last file being edited.
returns 1 or 0 depending on whether explorer windows are visible.
These functions are internally necessary for adding on
FlistTree.vim to winmanager.vim. This is a new addon to winmanager
based on Dr. Charles E. Campbell's flisttree utility which
graphically shows the function dependency within C files.
FlistTree.vim is expected to be released shortly.
1. When a file is chosen from the bufexplorer list and its not currently
visible, then the cursor jumps back to the first row.
2. Sometimes the <C-N> and <C-p> mappings would be lost, when an
explorer didnt display properly.
3. Several bugs in wintagexplorer.vim have been resolved.
(Thanks to Madoka Machitani and Mike Williams for valuable help).
wintagexplorer.vim is also more intelligent about remembering its
|| 1. worked on improving the speed of wintagexplorer.vim
(the latest version is almost 3 times faster than the previous
version and faster for larger files).
2. removed some bugs from wintagexplorer.vim where the mappings would
dissapear because of caching.
3. fixed some important documentation bugs (thanks to Madoka
4. also used an augroup for the autocommands used in winmanager to
better handle cases where the autcommands are deleted. (thanks to
5. made fileexplorer.vim not screw up the search history. this was
caused because of ^"= getting into the search history.
(thanks to Jeff Lanzarotta and Xiangjiang Ma).
NOTE: I frequently get asked the following question:
Q. From version 2.0, the command :GotoBufExplorerWindow does not work.
A. Starting from 2.0, the commands have been changed as follows:
GotoFileExplorerWindow -----> FirstExplorerWindow
GotoBufExplorerWindow -----> BottomExplorerWindow
||This is a major revision of winmanager with lots of new features, improved
IMPORTANT: you need to download and install the latest version of
bufexplorer (vimscript #42) to make this version of winmanager work.
1. One of the major new features of this version is (hopefully, touch wood,
etc) its stability. It has undergone extensive QA by Xiangjiang Ma (and
other users of the 2.0 beta version have also been using it for a couple of
weeks and have reported a few bugs). A big thanks to him (and others) for
all the valuable help. Infact a lot of the new features and the
implementation methods owe their style/origin to his ideas.
2. This version of winmanager no longer ships with a duplicate of
bufexplorer.vim. This has many advantages such as a reduction in script
bloat and in general promotes the idea of modularity. The latest version of
bufexplorer.vim (see above) provides hooks so that winmanager can
communicate with it. (thanks to Jeff Lanzarotta for making the necessary
3. Becuase of some new features of bufexplorer.vim, winmanager is able to
offer better dynamic behavior. For example, when you open up winmanager
when your editing only a single buffer, bufexplorer will not be shown. As
soon as at least 2 buffers are opened, bufexplorer is automatically opened.
4. This version provides an easy way to customize the window layout of
winmanager using non-default values of the global variable,
g:winManagerWindowLayout. (see ":he winmanager-customizing" for details).
5. This version also provides a way to use winmanager.vim to "edit"
directories instead of the standard exploerer.vim. To do this, you will
need to disable the standard explorer.vim (either by renaming it to
explorer.txt or putting ":let loaded_explorer = 1" in your .vimrc). You
then need to put
:let g:defaultExplorer = 0
in your .vimrc to let winmanager know that its supposed to take over.
6. I have tried to set-up a framework wherby it is very easy to add other
IDE type plugins to winmanager. By this I mean that a plugin author
could, with the minimum of effort make a plugin which can be integrated
7. For the purpose of demonstrating the first feature, in this new version,
winmanager also ships with another lightweight plugin called
tagsexplorer.vim. This is an elementary plugin which shows the tags in the
present directory in a fancy manner and offers some simple ways of
navigating between them.
To see this in action [File List] window and press CTRL-N.