diff options
| author | Paul Iannetta <paul.iannetta@inria.fr> | 2018-11-19 00:51:01 +0100 |
|---|---|---|
| committer | Paul Iannetta <paul.iannetta@inria.fr> | 2018-11-19 00:51:01 +0100 |
| commit | b209dd98527fd357e716d44ec4adb430504eae56 (patch) | |
| tree | 4269768238d352dea0f2cd079c27379418d502c3 /.config/zsh/plugin/vi-mode.plugin | |
| parent | 52967fde6b3424372a5d4790e6c5c21dc3096913 (diff) | |
zsh dot files
Diffstat (limited to '.config/zsh/plugin/vi-mode.plugin')
| -rw-r--r-- | .config/zsh/plugin/vi-mode.plugin | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/.config/zsh/plugin/vi-mode.plugin b/.config/zsh/plugin/vi-mode.plugin new file mode 100644 index 0000000..8747a7e --- /dev/null +++ b/.config/zsh/plugin/vi-mode.plugin @@ -0,0 +1,36 @@ +# 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 -R; zle reset-prompt } +} + +zle -N zle-keymap-select +zle -N edit-command-line + +bindkey -v + +# allow v to edit the command line (standard behaviour) +autoload -Uz edit-command-line +bindkey -M vicmd 'v' edit-command-line + +# allow ctrl-p, ctrl-n for navigate history (standard behaviour) +bindkey '^P' history-beginning-search-backward +bindkey '^N' history-beginning-search-forward +bindkey '^K' kill-whole-line + +# allow ctrl-h, ctrl-w, ctrl-? for char and word deletion (standard behaviour) +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 |
