summaryrefslogtreecommitdiff
path: root/.config/ipython/profile_default/startup/05-keybindings.py
diff options
context:
space:
mode:
authorVikas Kushwaha <dev@vikas.rocks>2024-11-21 13:30:52 +0530
committerVikas Kushwaha <dev@vikas.rocks>2024-11-21 13:30:52 +0530
commit5c916d69d457101326803eb076a746060e3618cf (patch)
treed6fce3256eede1c1bf78fb6a1be75b9cc4b84cee /.config/ipython/profile_default/startup/05-keybindings.py
Moved from github
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)
+
+