From 429668601b18f1a7e67a693ed82bfad80a6f86b3 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Wed, 13 Jan 2016 13:08:55 -0800 Subject: [PATCH] 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 --- gertty/config.py | 3 ++- gertty/keymap.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gertty/config.py b/gertty/config.py index b4812a7..97b10f7 100644 --- a/gertty/config.py +++ b/gertty/config.py @@ -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) diff --git a/gertty/keymap.py b/gertty/keymap.py index ff79c59..b482c66 100644 --- a/gertty/keymap.py +++ b/gertty/keymap.py @@ -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,