--- a/zshrc.d/60-vi-showmode.zrc Mon Mar 02 13:16:10 2020 +0100
+++ b/zshrc.d/60-vi-showmode.zrc Fri Jul 10 09:42:03 2020 +0200
@@ -195,7 +195,7 @@
builtin zle .vi-cmd-mode
}
zle -N vi-cmd-mode
-bindkey -M viins "" vi-cmd-mode
+bindkey -M viins "^[" vi-cmd-mode
### vi-oper-swap-case
@@ -206,25 +206,24 @@
### characters on the current line.
###
-bindkey -M vicmd "g~" vi-oper-swap-case
+# Specific to command mode
+bindkey -M vicmd "g~" vi-oper-swap-case
bindkey -M vicmd 'guw' down-case-word
bindkey -M vicmd 'gUw' up-case-word
-
-bindkey -M vicmd "[2~" vi-insert
+bindkey -M vicmd "^[[2~" vi-insert
bindkey -M vicmd 'q' push-line
-bindkey -M vicmd '[5~' history-beginning-search-backward # PgUp
-bindkey -M vicmd '[6~' history-beginning-search-forward # PgDn
-bindkey -M viins '[5~' history-beginning-search-backward # PgUp
-bindkey -M viins '[6~' history-beginning-search-forward # PgDn
-bindkey -M viins '[7~' beginning-of-line
-bindkey -M viins '[8~' end-of-line
+# Specific to insert mode
bindkey -M viins '^A' beginning-of-line
bindkey -M viins '^E' end-of-line
-bindkey -M viins '[3~' delete-char
-bindkey -M viins '[A' up-line-or-history
-bindkey -M viins '[B' down-line-or-history
+
+bindkey -M viins '^[[5~' history-beginning-search-backward # PgUp
+bindkey -M viins '^[[6~' history-beginning-search-forward # PgDn
+
+bindkey -M viins '^[[A' up-line-or-history
+bindkey -M viins '^[[B' down-line-or-history
+
bindkey -M viins '^Xc' copy-prev-shell-word
bindkey -M viins '^Xf' _correct_filename
bindkey -M viins '^_' undo
@@ -236,6 +235,20 @@
bindkey -M viins '^P' _history-complete-older
bindkey -M viins '^N' _history-complete-newer
+# Both modes
+bindkey -M viins '^[[7~' beginning-of-line
+bindkey -M vicmd '^[[7~' beginning-of-line
+bindkey -M viins '^[[8~' end-of-line
+bindkey -M vicmd '^[[8~' end-of-line
+
+bindkey -M viins '^[[H' beginning-of-line
+bindkey -M vicmd '^[[H' beginning-of-line
+bindkey -M viins '^[[F' end-of-line
+bindkey -M vicmd '^[[F' end-of-line
+
+bindkey -M viins '^[[3~' delete-char
+bindkey -M vicmd '^[[3~' delete-char
+
bindkey -M viins -s '^X^H' 'hash -r\n'
# These bindings depend on the ftzle script
@@ -244,8 +257,10 @@
if [[ -z ${TERM:#screen} ]]; then
- bindkey -M viins '[1~' beginning-of-line # Home
- bindkey -M viins '[4~' end-of-line # End
+ bindkey -M viins '^[[1~' beginning-of-line # Home
+ bindkey -M vicmd '^[[1~' beginning-of-line # Home
+ bindkey -M viins '^[[4~' end-of-line # End
+ bindkey -M vicmd '^[[4~' end-of-line # End
fi
# Edit the command line using your usual editor.