about summary refs log tree commit diff
path: root/Src/Zle/zle_keymap.c
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2014-12-13 19:31:35 +0100
committerOliver Kiddle <opk@zsh.org>2014-12-13 19:32:55 +0100
commit5b7950e6ef6911448a87401345eb72229b54d4e8 (patch)
treefb5ff1cee9319e9fd006aa2e91292069f250a372 /Src/Zle/zle_keymap.c
parentedb9c94025cebb853142c7e91b88c991ddd21b22 (diff)
downloadzsh-5b7950e6ef6911448a87401345eb72229b54d4e8.tar.gz
zsh-5b7950e6ef6911448a87401345eb72229b54d4e8.tar.xz
zsh-5b7950e6ef6911448a87401345eb72229b54d4e8.zip
33846: additional default vi-mode key bindings
Diffstat (limited to 'Src/Zle/zle_keymap.c')
-rw-r--r--Src/Zle/zle_keymap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index b703ebee1..afba592a7 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -1367,6 +1367,13 @@ default_bindings(void)
     bindkey(vismap, "x", refthingy(t_videlete), NULL);
     bindkey(vismap, "~", refthingy(t_vioperswapcase), NULL);
 
+    /* vi mode: some common vim bindings */
+    bindkey(amap, "ga", refthingy(t_whatcursorposition), NULL);
+    bindkey(amap, "ge", refthingy(t_vibackwardwordend), NULL);
+    bindkey(amap, "gE", refthingy(t_vibackwardblankwordend), NULL);
+    bindkey(amap, "gg", refthingy(t_beginningofbufferorhistory), NULL);
+    bindkey(amap, "g~", refthingy(t_vioperswapcase), NULL);
+
     /* emacs mode: arrow keys */ 
     add_cursor_key(emap, TCUPCURSOR, t_uplineorhistory, 'A');
     add_cursor_key(emap, TCDOWNCURSOR, t_downlineorhistory, 'B');