This is (going to be) the ultimate keybinding - vi keys when you hit escape, and emacs-ish keys when you don't.

Please help us fill in the gaps.

bindkey -v
bindkey "^P" vi-up-line-or-history
bindkey "^N" vi-down-line-or-history

bindkey "^[[1~" vi-beginning-of-line   # Home
bindkey "^[[4~" vi-end-of-line         # End
bindkey '^[[2~' beep                   # Insert
bindkey '^[[3~' delete-char            # Del
bindkey '^[[5~' vi-backward-blank-word # Page Up
bindkey '^[[6~' vi-forward-blank-word  # Page Down

Note that some people might have ^[[7 and ^[[8 for Home and End, respectively. On Linux with GnuScreen, this is not the case.

Please consider to use zkbd to canonicalize this.

zle/emacsandvikeys.txt · Last modified: 2010/01/05 09:20 (external edit)