Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

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
  • Loading branch information...
commit b609aa0e6c981f2039d777687cb01a84587f6edc 1 parent 921d2f4
@jimhester authored
Showing with 5 additions and 0 deletions.
  1. +5 −0 plugins/vi-mode/vi-mode.plugin.zsh
5 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

1 comment on commit b609aa0


@jimhester Which issues does this help resolve? Can you help identify those github issues so that we can close those now?

Please sign in to comment.
Something went wrong with that request. Please try again.