winmanager - A windows style IDE for Vim 6.0 : vim online
Keywords: Vim, Vi IMproved, text editor, home, documentation, tips, scripts, news

winmanager : A windows style IDE for Vim 6.0
script karma | Rating 674/224, Downloaded by 15837
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/' 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 files. Put let g:saveTagsDisplay = 0 in your ~/.vimrc to disable this feature. 3. There are a couple of more functions which winmanager exposes. 1. WinManagerGetLastEditedFile(n) returns the n^th last file being edited. 2. IsWinManagerVisible() 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. ug Fixes: 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 display.
winmanager.zip | 2.1 | 2002-02-13 | 6.0 | Srinath Avadhanula | 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 Machitani.) 4. also used an augroup for the autocommands used in winmanager to better handle cases where the autcommands are deleted. (thanks to Madoka again) 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. Whats wrong? A. Starting from 2.0, the commands have been changed as follows: old new GotoFileExplorerWindow -----> FirstExplorerWindow GotoBufExplorerWindow -----> BottomExplorerWindow
winmanager.zip | 2.0 | 2002-01-18 | 6.0 | Srinath Avadhanula | This is a major revision of winmanager with lots of new features, improved stability, etc. 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 changes). 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 into winmanager. 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.

| 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. |  |