arpeggio : Mappings for simultaneously pressed keys
| script karma |
Rating 42/12,
Downloaded by 549 |
| created by |
| Kana Natsuno |
| |
| script type |
| utility |
| |
| description |
*arpeggio* is a Vim plugin to define another type of |key-mapping| called as *arpeggio-key-mapping* which consists of 2 or more keys. Whenever all keys are simultaneously pressed, they are mapped to another key sequence. For example:
Arpeggio inoremap jk <Esc> " OR call arpeggio#map('i', '', 0, 'jk', '<Esc>')
With the above definition, you can input <Esc> in Insert mode by pressing "j" and "k" simultaneously, while solely pressed "j" and "k" works the same as the default ones, i.e., the corresponding characters are inserted.
The concept of this plugin is derived from Emacs' key-chord.el (*1), but there are the following differences:
- Number of keys to be simultaneously pressed is unlimited.
- Custom delay for each key is supported (see |g:arpeggio_timeoutlens|). This is a generalization of space-chord.el (*2).
(*1) http://www.emacswiki.org/emacs/key-chord.el (*2) http://www.emacswiki.org/emacs/space-chord.el
Requirements: - Vim 7.2 or later
Latest version: http://github.com/kana/config/commits/vim-arpeggio
Document in HTML format: http://kana.github.com/config/vim/arpeggio.html |
| |
| install details |
| ... |
| |
script versions (upload new version)
Click on the package to download.
| vim-arpeggio-0.0.5.zip |
0.0.5 |
2008-12-06 |
7.0 |
Kana Natsuno |
- Remove the assumption on 'timeout' and 'ttimeout'. Old version assumes that "set timeout notimeout", but now their values can be arbitrary. - Fix the bug that 'ttimeoutlen' can be interpreted as an unexpected value because of the adjustment of 'timeout' and 'timeoutlen' for arpeggio key mappings. |
| vim-arpeggio-0.0.4.zip |
0.0.4 |
2008-11-11 |
7.0 |
Kana Natsuno |
- Add syntax highlighting for |arpeggio-commands|. - Fix bugs of "noremap" version of |arpeggio-commands| such as |:Arpeggionoremap| that {rhs} are remapped despite the meaning of the commands. (Thanks for id:ampmmn) |
| vim-arpeggio-0.0.3.zip |
0.0.3 |
2008-11-09 |
7.0 |
Kana Natsuno |
- Add |:Arpeggio|. - Support |:map-<unique>| for |arpeggio#map()| and other commands. - In |arpeggio#map()| and other commands, warn if a key in {lhs} is already mapped to something other than a part of another |arpeggio-key-mapping|. - Add custom 'timeoutlen' per key. See |g:arpeggio_timeoutlens|. - Add a bit of completion for |arpeggio-commands|. |
| vim-arpeggio-0.0.2.zip |
0.0.2 |
2008-11-07 |
7.0 |
Kana Natsuno |
- Fix |:Arpeggionoremap| that allowed remapping but it should not do so. (Thanks for id:ampmmn) - Define |arpeggio-commands| and |arpeggio-variables| automatically for interactive or other use. (But you still have to call |arpeggio#load()| to use them in vimrc.) |
| vim-arpeggio-0.0.1.zip |
0.0.1 |
2008-11-06 |
7.0 |
Kana Natsuno |
- Implement |arpeggio-commands|. - Add missing |arpeggio#list()|. - Revise minor stuffs. |
| vim-arpeggio-0.0.0.zip |
0.0.0 |
2008-11-05 |
7.0 |
Kana Natsuno |
Initial upload |
|