summaryrefslogtreecommitdiff
path: root/plugins/vi-mode/vi-mode.plugin.zsh
diff options
context:
space:
mode:
authorDawid Ferenczy <dawid@ferenczy.cz>2015-08-25 16:34:04 +0200
committerDawid Ferenczy <dawid@ferenczy.cz>2015-08-25 16:34:04 +0200
commit18ef1ee6481dbeca4fbecf3de627f946860ffd5a (patch)
treecb07e72538c470bb486596d955c7912c5b05e23e /plugins/vi-mode/vi-mode.plugin.zsh
parenteafd5f325208421b82a770e57441dd1063eb5745 (diff)
parent192de6bcffb0294e19f4203f6f7dc1a7f3e427be (diff)
downloadzsh-18ef1ee6481dbeca4fbecf3de627f946860ffd5a.tar.gz
zsh-18ef1ee6481dbeca4fbecf3de627f946860ffd5a.tar.bz2
zsh-18ef1ee6481dbeca4fbecf3de627f946860ffd5a.zip
Merge remote-tracking branch 'robbyrussell/master'
Diffstat (limited to 'plugins/vi-mode/vi-mode.plugin.zsh')
-rw-r--r--plugins/vi-mode/vi-mode.plugin.zsh14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
index 3ed32b3fb..4424bb29a 100644
--- a/plugins/vi-mode/vi-mode.plugin.zsh
+++ b/plugins/vi-mode/vi-mode.plugin.zsh
@@ -14,6 +14,11 @@ function zle-keymap-select zle-line-init zle-line-finish {
zle -R
}
+# Ensure that the prompt is redrawn when the terminal size changes.
+TRAPWINCH() {
+ zle && { zle reset-prompt; zle -R }
+}
+
zle -N zle-line-init
zle -N zle-line-finish
zle -N zle-keymap-select
@@ -26,6 +31,15 @@ bindkey -v
autoload -Uz edit-command-line
bindkey -M vicmd 'v' edit-command-line
+# allow ctrl-p, ctrl-n for navigate history (standard behaviour)
+bindkey '^P' up-history
+bindkey '^N' down-history
+
+# 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
+
# if mode indicator wasn't setup by theme, define default
if [[ "$MODE_INDICATOR" == "" ]]; then
MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}"