Fix to restore bindings after switching to vi-mode

the vi-mode plugin destroys any bindings made before it is sourced due to the
'bindkey -v' call to switch to using vi-mode.  This patch saves the bindings
before invoking 'bindkey -v' then rebinds them afterwards, this fixes a number
of outstanding issues due to people using vi-mode and having things in oh-my-zsh
break due to the bindings being destroyed
This commit is contained in:
Jim Hester 2012-09-20 08:03:09 -04:00
parent 921d2f49ef
commit b609aa0e6c

View File

@ -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