summaryrefslogtreecommitdiff
path: root/plugins/vi-mode/vi-mode.plugin.zsh
diff options
context:
space:
mode:
authorXavier Lacoste <xavier.lacoste@inria.fr>2012-09-27 16:50:23 +0200
committerXavier Lacoste <xavier.lacoste@inria.fr>2012-09-27 16:50:23 +0200
commit23657840a1ca31ffbce8f84d96d3063f5b4b4319 (patch)
tree5f5f354fe11c59f46da6e0a9a40db895a760d7af /plugins/vi-mode/vi-mode.plugin.zsh
parentce74be1e1dfbccd45ced3314fd4a4c8869a49ec4 (diff)
parent25a9cddc2191a1c6751d1e385389c0787a597a3e (diff)
downloadzsh-23657840a1ca31ffbce8f84d96d3063f5b4b4319.tar.gz
zsh-23657840a1ca31ffbce8f84d96d3063f5b4b4319.tar.bz2
zsh-23657840a1ca31ffbce8f84d96d3063f5b4b4319.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'plugins/vi-mode/vi-mode.plugin.zsh')
-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