summaryrefslogtreecommitdiff
path: root/.config/ipython/profile_default/startup/05-keybindings.py
diff options
context:
space:
mode:
Diffstat (limited to '.config/ipython/profile_default/startup/05-keybindings.py')
-rw-r--r--.config/ipython/profile_default/startup/05-keybindings.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/.config/ipython/profile_default/startup/05-keybindings.py b/.config/ipython/profile_default/startup/05-keybindings.py
new file mode 100644
index 0000000..11439aa
--- /dev/null
+++ b/.config/ipython/profile_default/startup/05-keybindings.py
@@ -0,0 +1,18 @@
+from IPython import get_ipython
+from prompt_toolkit.enums import DEFAULT_BUFFER
+from prompt_toolkit.filters import HasFocus, ViInsertMode
+from prompt_toolkit.key_binding.vi_state import InputMode
+
+ip = get_ipython()
+
+def switch_to_navigation_mode(event):
+ vi_state = event.cli.vi_state
+ vi_state.input_mode = InputMode.NAVIGATION
+
+if getattr(ip, 'pt_app', None):
+ registry = ip.pt_app.key_bindings
+ registry.add_binding(u'j',u'k',
+ filter=(HasFocus(DEFAULT_BUFFER)
+ & ViInsertMode()))(switch_to_navigation_mode)
+
+