diff options
author | Marc Cornellà <marc.cornella@live.com> | 2019-05-19 18:22:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-19 18:22:23 +0200 |
commit | 5f7666e20b411ac4b71844d72945f9e122909dbc (patch) | |
tree | 4b52423605668af86c8aa458e8366c64ec174377 /plugins | |
parent | 5aa62461d91546ce1fd5dcc6531569d0e6e6f17f (diff) | |
download | zsh-5f7666e20b411ac4b71844d72945f9e122909dbc.tar.gz zsh-5f7666e20b411ac4b71844d72945f9e122909dbc.tar.bz2 zsh-5f7666e20b411ac4b71844d72945f9e122909dbc.zip |
vi-mode: reset KEYMAP on accept-line (#7818)
Fixes #7797
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/vi-mode/vi-mode.plugin.zsh | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh index a82e41439..c91ba05ba 100644 --- a/plugins/vi-mode/vi-mode.plugin.zsh +++ b/plugins/vi-mode/vi-mode.plugin.zsh @@ -8,13 +8,24 @@ function zle-keymap-select() { } zle -N zle-keymap-select -zle -N edit-command-line + +function vi-accept-line() { + VI_KEYMAP=main + zle accept-line +} + +zle -N vi-accept-line bindkey -v +# use custom accept-line widget to update $VI_KEYMAP +bindkey -M vicmd '^J' vi-accept-line +bindkey -M vicmd '^M' vi-accept-line + # allow v to edit the command line (standard behaviour) autoload -Uz edit-command-line +zle -N edit-command-line bindkey -M vicmd 'v' edit-command-line # allow ctrl-p, ctrl-n for navigate history (standard behaviour) |