diff options
Diffstat (limited to 'plugins/vi-mode/vi-mode.plugin.zsh')
-rw-r--r-- | plugins/vi-mode/vi-mode.plugin.zsh | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh index 82a2f3040..a82e41439 100644 --- a/plugins/vi-mode/vi-mode.plugin.zsh +++ b/plugins/vi-mode/vi-mode.plugin.zsh @@ -1,14 +1,12 @@ # Updates editor information when the keymap changes. function zle-keymap-select() { + # update keymap variable for the prompt + VI_KEYMAP=$KEYMAP + zle reset-prompt zle -R } -# Ensure that the prompt is redrawn when the terminal size changes. -TRAPWINCH() { - zle && zle -R -} - zle -N zle-keymap-select zle -N edit-command-line @@ -28,8 +26,9 @@ bindkey '^?' backward-delete-char bindkey '^h' backward-delete-char bindkey '^w' backward-kill-word -# allow ctrl-r to perform backward search in history +# allow ctrl-r and ctrl-s to search the history bindkey '^r' history-incremental-search-backward +bindkey '^s' history-incremental-search-forward # allow ctrl-a and ctrl-e to move to beginning/end of line bindkey '^a' beginning-of-line @@ -41,7 +40,7 @@ if [[ "$MODE_INDICATOR" == "" ]]; then fi function vi_mode_prompt_info() { - echo "${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}" + echo "${${VI_KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}" } # define right prompt, if it wasn't defined by a theme |