tinymode is a Vim script that allows definition of "tiny modes" for Normal mode.
A "tiny mode" (or "sub mode") is almost like any other Vim mode.
It has a name that identifies it, mappings that enter the mode, mappings defined within the mode. There can be a permanent mode message in the command-line that indicates the active mode and can show the available keys.
Leaving is different: Any key not mapped in the mode goes back to Normal mode and executes there. The mode is also left automatically when not pressing a key for 'timeoutlen' ms (and 'timeout' is on). The escape key just leaves the mode.
tinymode.vim is friendly to your mappings, they aren't touched in any way (except for entering the mode of course). getchar() is not used, the cursor doesn't move to the command-line waiting for a character.
" Mode1: cycle tab pages, enter mode with "gt" or "gT", keys in the mode:
" "0", "t", "T", "$", type a Normal mode command to leave mode or wait 3 s
call tinymode#EnterMap("mode1", "gt", "t")
call tinymode#EnterMap("mode1", "gT", "T")
call tinymode#ModeMsg("mode1", "Cycle tab pages [0/t/T/$]", 1)
call tinymode#Map("mode1", "0", "tabfirst")
call tinymode#Map("mode1", "t", "norm! [N]gt")
call tinymode#Map("mode1", "T", "norm! [N]gT")
call tinymode#Map("mode1", "$", "tablast")
" keep the mode active when typing digits:
call tinymode#ModeArg("mode1", "owncount")
Vim is a text editor first released by Bram Moolenaar in 1991 for the Amiga computer. Vim was created as an extended version of the vi editor, with many additional features designed to be helpful in editing program source code; its full name is Vi IMproved.
While Vim is cross-platform, it is most popular on Unix-like operating systems.
Released under a software license compatible with the GNU General Public License, Vim is free and open source software. The program's license includes some charityware clauses.
Like vi, Vim's interface is based not on menus or icons but on commands given in a text user interface; its GUI mode, gVim, adds menus and toolbars for commonly used commands but the full functionality is still expressed through its command line mode.
For many users learning Vim may be difficult and slow initially, but once the basics are understood they progress quickly and editing becomes more efficient. To facilitate this, Vim has a built-in tutorial for beginners. There is also the Vim Users' Manual that details the basic and more advanced Vim features. This manual can be read from within Vim, or found online.
Vim also has a built-in help facility (using the :help command) that allows users to query and navigate through commands and features.