WinWalker.vim : Vim 7 windows navigator/manager
script karma |
Rating 71/20,
Downloaded by 3432 |
Comments, bugs, improvements
|
Vim wiki
|
created by |
Eric Arnold |
|
script type |
utility |
|
description |
Features: *WW_Features* {{{~
- Navigate and manage windows and layouts with blinding speed!
- Multiple window operations are faster and easier because it creates
a window navigation and management mode where all window commands
are familiar single chars, i.e. h,H,^H and j,J,^J etc. If you
weren't using Vim in full-screen mode, you'll start considering it.
- More added functionality:
- Better [im]movability:
- Enhanced push/drag for windows and buffers.
- Push/drag/exchange buffers between windows, and windows
between tabs. Use adjacent tabs as if they were extensions
of the current visible screen.
- Constrained size and placement. Windows can be 'attached'
to walls or other windows.
- Quick search/jump to any window in any tab by giving the first
unique char(s). It jumps to a buffer's window, instead of the
default action of editing buffers in the current window.
- More intuitive for many operations:
- Incremental resizing is easier, using the [HJKL] and
[^h^j^k^l].
- Resize in the direction specified, unlike wincmd + - < >
- Windows move/push past each other more like you'd expect.
They can push 'between', instead of just 'maximize at far
side'.
- Other usability stuff:
- A window-level jump list for ^I/^O movement.
- O/^O as a tab-capable alternative to ^Wo .
- Various shortcuts to help keep you from breaking your
stride, i.e. to :edit, :ex mode, sessions, macros, remapping
- All the commands are presented as a prompt menu in the command line
so forgetting stuff isn't a problem.
- Many of the commands are the same as the default Vim window ^W and
'wincmd' for easy transition, others are shifted around to be more
consistent.
- Different invocation modes: |WW_timeoutlen| for menu, key pass-through.
The goal is to have the menu mode there when you want it, and keep
quiet otherwise. Experiment with the different methods to find
what works best for you.
Useful Examples: *WW_Useful_Examples* {{{~
... Or, 'How is this going to help me?'
Ergonomics:
Overall speed dealing with multiple windows. Try it out:
- Start the WinWalker menu, ^W
- Open a new tab with 'N'
- Open a few windows with 'n' and 'v'
- Jump around a little with '[hljk]'
- Put some files in them with 'e'
- Push some around with '[HLJK]'
- Smack them all down with 'q'
By now you should have a feel for the difference it makes to have
single keys to deal with the window system.
AutoResizing:
- Your screen/terminal/GUI size will no longer cramp your style.
Create windows that are always big enough.
Example: You have several windows open, vertical and
horizontal, which you set to 80 columns, but you only have
120 or whatever.
- Quickly visit each window, set the dimensions with 'c'.
See |WW_Misc_Menu| => |WW_presets| if you want to change
the values.
- For more individualized sizing, 'grow' the window to
whatever size makes sense, and use the
|WW_Attach_Constrain_Menu| -> lc 'lock columns' (and/or
'll') command to cause the window to resize itself to the
current size each time it is entered.
Now all those windows will resize themselves each time they are
entered.
Templates:
- Store a tab to a session with the windows arranged how you
want.
- Create a macro key to retrieve the template like:
<F2> srsessname^M
s save menu
r restore
sessname name of the session (without Session. or .vim )
^M literal carriage return, with ^V^M or ^Q^M
Keeping Track Of Buffers:
If you're using TabLineSet.vim with the verbose option, you'll be
able to see all open buffers in the tabline (especially if you have
the 'Tabline wrapping patch' installed).
The find, '/', command will show you all loaded buffers, or '?' for
all buffers.
|
|
install details |
- Unzip the distribution file above your plugin to extract:
plugin/WinWalker.vim
plugin/Char_menu.vim
doc/WinWalker.txt
- Set up a key map. I.e.
nmap <silent> <Leader>w :call WinWalkerMenu()<CR>
Default. I like it mapped to ^W, since I'm used to
hitting ^W for windows stuff, and WinWalker is mostly a
superset of the standard ^W/wincmd commands.
- Look through the |WW_Misc_Menu| and |WW_Customizing| for other
options to change.
|
|
script versions (upload new version)
Click on the package to download.
WinWalker.2.2.zip |
2.2 |
2006-05-28 |
7.0 |
Eric Arnold |
- Revamped window jump list ( ^I and ^O ); better
tracking, cleanup, and display.
- Fixed a few problems with the find command and
menu handler returning early
- Separated startup and menu timeoutlen[s].
- Updated help file.
|
WinWalker.2.1.zip |
2.1 |
2006-05-16 |
7.0 |
Eric Arnold |
- added 'follow' option,
- 'c' preset now sets the sticky auto-resize,
line/column values,
- windows and buffers auto-resize separately,
- small cmdheight bug,
- smarter hondling of 'previous' window,
- various sizing fixes,
|
WinWalker.2.0.zip |
2.0 |
2006-04-27 |
7.0 |
Eric Arnold |
- Constrained size and placement. Windows can be
'attached' to walls or other windows.
- Added key feedkeys() macros
- Sessions remember WinWalker constraints
|
WinWalker.1.2.1.zip |
1.2.1 |
2006-04-24 |
7.0 |
Eric Arnold |
Restored accidentally deleted function, kill spurious debug msg |
WinWalker.1.2.zip |
1.2 |
2006-04-24 |
7.0 |
Eric Arnold |
- handle copen and exchange/push
- fixed searching by bufnr bug
- switch to Unix file format
- added session quick-save
- revamped help and help folding
|
WinWalker.zip |
1.1 |
2006-04-21 |
7.0 |
Eric Arnold |
- Added help extraction to standard help
- Tweaked to handle Taglist.vim
|
WinWalker.zip |
1.0 |
2006-04-19 |
7.0 |
Eric Arnold |
Initial upload |
ip used for rating: 142.132.191.50
|