summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2012-09-23 11:45:03 -0700
committerRobby Russell <robby@planetargon.com>2012-09-23 11:45:03 -0700
commit8247a4097d32a85c6a119b114cce44069559dd3e (patch)
tree68ec8edb42e7fca2e27c8ab157124dd041a42d31
parent523b26c6efb1a140aa786c63367d80832a6187fd (diff)
parentb609aa0e6c981f2039d777687cb01a84587f6edc (diff)
downloadzsh-8247a4097d32a85c6a119b114cce44069559dd3e.tar.gz
zsh-8247a4097d32a85c6a119b114cce44069559dd3e.tar.bz2
zsh-8247a4097d32a85c6a119b114cce44069559dd3e.zip
Merge pull request #1320 from jimhester/vi-mode-patch
Fix to restore bindings after switching to vi-mode
-rw-r--r--plugins/vi-mode/vi-mode.plugin.zsh5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
index c47ab7211..d29eb1dda 100644
--- a/plugins/vi-mode/vi-mode.plugin.zsh
+++ b/plugins/vi-mode/vi-mode.plugin.zsh
@@ -5,7 +5,12 @@ function zle-line-init zle-keymap-select {
zle -N zle-line-init
zle -N zle-keymap-select
+#changing mode clobbers the keybinds, so store the keybinds before and execute
+#them after
+binds=`bindkey -L`
bindkey -v
+for bind in ${(@f)binds}; do eval $bind; done
+unset binds
# if mode indicator wasn't setup by theme, define default
if [[ "$MODE_INDICATOR" == "" ]]; then