sponsor Vim development Vim logo Vim Book Ad

submode : Create your own submodes

 script karma  Rating 43/18, Downloaded by 1256  Comments, bugs, improvements  Vim wiki

created by
Kana Natsuno
script type
*submode* is a Vim plugin to provide the way to define "submodes" to the
built-in |vim-modes|.  For example, whenever you type |g-| and/or |g+| to
undo/redo many times, don't you want to type "g++--++..." instead
"g+g+g-g-g+g+..."?  With this plugin, you can define such interface with the
following settings:

call submode#enter_with('undo/redo', 'n', '', 'g-', 'g-')
call submode#enter_with('undo/redo', 'n', '', 'g+', 'g+')
call submode#leave_with('undo/redo', 'n', '', '<Esc>')
call submode#map('undo/redo', 'n', '', '-', 'g-')
call submode#map('undo/redo', 'n', '', '+', 'g+')

The above settings mean:
- Define a new submode named "undo/redo".
- Define "g-" and "g+" as key sequences to enter the submode "undo/redo" from
  Normal mode.  Aditionally, they does undo/redo before entering the submode
- In the submode "undo/redo", "-" and "+" do undo/redo.
- In the submode "undo/redo", "<Esc>" leaves the submode.

By default, <Esc> is automatically defined as a key to leave any submode.
So you don't have to explicitly define like the above example.
There are also 2 ways to leave submodes:
- Type any key sequence which is not mapped in the submode.
- Don't type any key for a long time.  See |submode-variables| to configure
  the details of this time out.

- Vim 7.2 or later

Latest version:

Document in HTML format:
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
vim-submode-0.0.0.zip 0.0.0 2008-12-01 7.0 Kana Natsuno 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.