sponsor Vim development Vim logo Vim Book Ad

winmanager : A windows style IDE for Vim 6.0

 script karma  Rating 1012/370, Downloaded by 87258  Comments, bugs, improvements  Vim wiki

created by
Srinath Avadhanula
 
script type
utility
 
description
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.

Thanks!

 
install details
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
   - plugin/
       winmanager.vim
       winfileexplorer.vim
       wintagexplorer.vim
   - doc/
       winmanager.txt

   IMPORTANT NOTE:
  
   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)
   or
   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
   it).

You will also need to change the mappings you might have used with
winmanager-1.x to

    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.
 

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
winmanager.zip 2.3 2002-04-03 6.0 Srinath Avadhanula 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.
winmanager.zip 2.2 2002-04-01 6.0 Srinath Avadhanula New Features:
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 =
            'e:/srinath/testing/vim/vimfiles/plugin/'."\n".
            'e:/srinath/testing/vim/vimfiles/ftplugin/'."\n".
            'e:/srinath/testing/vim/vimfiles/compiler/' <br>   After startup, you can use 'f' to add the currently displayed <br>   directory to the favourites. <br>   NOTE: Use full path names. Use a trailing back-slash is safe. <br>   NOTE: Use double quotes to enter a new-line. <br>   NOTE: By default, $HOME is always included in the list. Do *not* <br>         include it in g:favDirs. <br> <br>2. wintagexplorer.vim now has a feature where it saves its display in a <br>   file .vimtagsdisplay in the tags directory. This speeds up display <br>   next time you use wintagexplorer. useful if you work with large tags <br>   files. <br>   Put <br>      let g:saveTagsDisplay = 0 <br>   in your ~/.vimrc to disable this feature. <br> <br>3. There are a couple of more functions which winmanager exposes. <br>   1. WinManagerGetLastEditedFile(n) <br>      returns the n^th last file being edited. <br>   2. IsWinManagerVisible() <br>      returns 1 or 0 depending on whether explorer windows are visible. <br>   These functions are internally necessary for adding on <br>   FlistTree.vim to winmanager.vim. This is a new addon to winmanager <br>   based on Dr. Charles E. Campbell's flisttree utility which <br>   graphically shows the function dependency within C files. <br>   FlistTree.vim is expected to be released shortly. <br> <br>ug Fixes: <br>1. When a file is chosen from the bufexplorer list and its not currently <br>   visible, then the cursor jumps back to the first row. <br> <br>2. Sometimes the <C-N> and <C-p> mappings would be lost, when an <br>   explorer didnt display properly. <br> <br>3. Several bugs in wintagexplorer.vim have been resolved. <br>   (Thanks to Madoka Machitani and Mike Williams for valuable help). <br>   wintagexplorer.vim is also more intelligent about remembering its <br>   display. <br></td> </tr> <tr> <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=587">winmanager.zip</a></td> <td class="rowodd" valign="top" nowrap><b>2.1</b></td> <td class="rowodd" valign="top" nowrap><i>2002-02-13</i></td> <td class="rowodd" valign="top" nowrap>6.0</td> <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=247">Srinath Avadhanula</a></i></td> <td class="rowodd" valign="top" width="2000">    1. worked on improving the speed of wintagexplorer.vim <br>       (the latest version is almost 3 times faster than the previous <br>       version and faster for larger files). <br>    2. removed some bugs from wintagexplorer.vim where the mappings would <br>       dissapear because of caching. <br>    3. fixed some important documentation bugs (thanks to Madoka <br>       Machitani.) <br>    4. also used an augroup for the autocommands used in winmanager to <br>       better handle cases where the autcommands are deleted. (thanks to <br>       Madoka again) <br>    5. made fileexplorer.vim not screw up the search history. this was <br>       caused because of ^"= getting into the search history. <br>       (thanks to Jeff Lanzarotta and Xiangjiang Ma). <br> <br>     NOTE: I frequently get asked the following question: <br>     Q. From version 2.0, the command :GotoBufExplorerWindow does not work. <br>        Whats wrong? <br>     A. Starting from 2.0, the commands have been changed as follows: <br>                 old                           new <br>           GotoFileExplorerWindow  -----> FirstExplorerWindow <br>           GotoBufExplorerWindow   -----> BottomExplorerWindow <br></td> </tr> <tr> <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=495">winmanager.zip</a></td> <td class="roweven" valign="top" nowrap><b>2.0</b></td> <td class="roweven" valign="top" nowrap><i>2002-01-18</i></td> <td class="roweven" valign="top" nowrap>6.0</td> <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=247">Srinath Avadhanula</a></i></td> <td class="roweven" valign="top" width="2000">This is a major revision of winmanager with lots of new features, improved <br>stability, etc. <br> <br>IMPORTANT: you need to download and install the latest version of <br>bufexplorer (<a href="/scripts/script.php?script_id=42">vimscript #42</a>) to make this version of winmanager work. <br> <br>1. One of the major new features of this version is (hopefully, touch wood, <br>etc) its stability. It has undergone extensive QA by Xiangjiang Ma (and <br>other users of the 2.0 beta version have also been using it for a couple of <br>weeks and have reported a few bugs). A big thanks to him (and others) for <br>all the valuable help. Infact a lot of the new features and the <br>implementation methods owe their style/origin to his ideas. <br> <br>2. This version of winmanager no longer ships with a duplicate of <br>bufexplorer.vim. This has many advantages such as a reduction in script <br>bloat and in general promotes the idea of modularity. The latest version of <br>bufexplorer.vim (see above) provides hooks so that winmanager can <br>communicate with it. (thanks to Jeff Lanzarotta for making the necessary <br>changes). <br> <br>3. Becuase of some new features of bufexplorer.vim, winmanager is able to <br>offer better dynamic behavior. For example, when you open up winmanager <br>when your editing only a single buffer, bufexplorer will not be shown. As <br>soon as at least 2 buffers are opened, bufexplorer is automatically opened. <br> <br>4. This version provides an easy way to customize the window layout of <br>winmanager using non-default values of the global variable, <br>g:winManagerWindowLayout. (see ":he winmanager-customizing" for details). <br> <br>5. This version also provides a way to use winmanager.vim to "edit" <br>directories instead of the standard exploerer.vim. To do this, you will <br>need to disable the standard explorer.vim (either by renaming it to <br>explorer.txt or putting ":let loaded_explorer = 1" in your .vimrc). You <br>then need to put <br>   :let g:defaultExplorer = 0 <br>in your .vimrc to let winmanager know that its supposed to take over. <br> <br>6. I have tried to set-up a framework wherby it is very easy to add other <br>IDE type plugins to winmanager. By this I mean that a plugin author <br>could, with the minimum of effort make a plugin which can be integrated <br>into winmanager. <br> <br>7. For the purpose of demonstrating the first feature, in this new version, <br>winmanager also ships with another lightweight plugin called <br>tagsexplorer.vim. This is an elementary plugin which shows the tags in the <br>present directory in a fancy manner and offers some simple ways of <br>navigating between them. <br>To see this in action [File List] window and press CTRL-N. <br></td> </tr> </table> <small>ip used for rating: 207.241.235.164</small> <!-- finish off the framework --> </td> </tr> </table> </td> </tr> </table> <!-- END OF THE PAGE BODY: BETWEEN HEADER AND FOOTER --> <table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red"> <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr> <tr><td colspan="4" bgcolor="#000000"><img src="/images/spacer.gif" height="2" width="1" alt=""></td></tr> <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr> <tr> <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td> <td align="left" valign="top"><small> If you have questions or remarks about this site, visit the <a href="http://vimonline.sf.net">vimonline development</a> pages. Please use this site responsibly. <br> Questions about <a href="https://www.vim8.org/about.php">Vim</a> should go to the <a href="https://www.vim8.org/maillist.php">maillist</a>. Help Bram <a href="http://iccf-holland.org/">help Uganda</a>. </small>     </td> <td align="right" valign="top"> <a href="https://github.com/vim/vim" rel="nofollow">Vim at Github</a> </td> <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td> </tr> <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td> </tr> </table> </body> </html>