Add a vi keymap

This way vi users can contribute vi keybindings here and everyone
will be able to benefit.  Use "gertty -k vi" or add "keymap: vi"
to the config file.

Change-Id: Iac5db63f8f5394ab874079a6047ddc3a14ec7c22
This commit is contained in:
James E. Blair 2016-01-13 13:08:55 -08:00
parent dc960b0cda
commit 429668601b
2 changed files with 9 additions and 1 deletions

View File

@ -186,7 +186,8 @@ class Config(object):
self.palettes[p['name']].update(p)
self.palette = self.palettes[self.config.get('palette', palette)]
self.keymaps = {'default': gertty.keymap.KeyMap({})}
self.keymaps = {'default': gertty.keymap.KeyMap({}),
'vi': gertty.keymap.KeyMap(gertty.keymap.VI_KEYMAP)}
for p in self.config.get('keymaps', []):
if p['name'] not in self.keymaps:
self.keymaps[p['name']] = gertty.keymap.KeyMap(p)

View File

@ -148,6 +148,13 @@ DEFAULT_KEYMAP = {
INTERACTIVE_SEARCH: 'ctrl s',
}
# Hi vi users! Add more things here! This overrides the default
# keymap, so anything not defined here will just use what's defined
# above.
VI_KEYMAP = {
QUIT: [[':', 'q']],
}
URWID_COMMANDS = frozenset((
urwid.REDRAW_SCREEN,
urwid.CURSOR_UP,