diff options
Diffstat (limited to 'plugins/vi-mode/vi-mode.plugin.zsh')
-rw-r--r-- | plugins/vi-mode/vi-mode.plugin.zsh | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh index 4424bb29a..93964594b 100644 --- a/plugins/vi-mode/vi-mode.plugin.zsh +++ b/plugins/vi-mode/vi-mode.plugin.zsh @@ -1,26 +1,14 @@ -# Ensures that $terminfo values are valid and updates editor information when -# the keymap changes. -function zle-keymap-select zle-line-init zle-line-finish { - # The terminal must be in application mode when ZLE is active for $terminfo - # values to be valid. - if (( ${+terminfo[smkx]} )); then - printf '%s' ${terminfo[smkx]} - fi - if (( ${+terminfo[rmkx]} )); then - printf '%s' ${terminfo[rmkx]} - fi - +# Updates editor information when the keymap changes. +function zle-keymap-select() { zle reset-prompt zle -R } # Ensure that the prompt is redrawn when the terminal size changes. TRAPWINCH() { - zle && { zle reset-prompt; zle -R } + zle && { zle -R; zle reset-prompt } } -zle -N zle-line-init -zle -N zle-line-finish zle -N zle-keymap-select zle -N edit-command-line @@ -40,6 +28,13 @@ bindkey '^?' backward-delete-char bindkey '^h' backward-delete-char bindkey '^w' backward-kill-word +# allow ctrl-r to perform backward search in history +bindkey '^r' history-incremental-search-backward + +# allow ctrl-a and ctrl-e to move to beginning/end of line +bindkey '^a' beginning-of-line +bindkey '^e' end-of-line + # if mode indicator wasn't setup by theme, define default if [[ "$MODE_INDICATOR" == "" ]]; then MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}" |