# bindkey -v # vim bindings
|
|
|
|
# History Mapping
|
|
bindkey '^R' history-incremental-search-backward
|
|
|
|
# Use Shift+Tab for reverse completion
|
|
bindkey '^[[Z' reverse-menu-complete
|
|
|
|
# Use Alt+. for last argument
|
|
bindkey '\e.' insert-last-word
|
|
|
|
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
|
|
zle -N up-line-or-beginning-search
|
|
zle -N down-line-or-beginning-search
|
|
|
|
case "${TERM}" in
|
|
(cons25*|linux)
|
|
bindkey '^[[1~' beginning-of-line # HOME
|
|
bindkey '^[[4~' end-of-line # END
|
|
bindkey '\e[5~' delete-char # DELETE
|
|
bindkey '\e[A' up-line-or-beginning-search # UP
|
|
bindkey '\e[B' down-line-or-beginning-search # DOWN
|
|
;;
|
|
(*xterm*)
|
|
bindkey '\e[H' beginning-of-line # HOME
|
|
bindkey '\e[F' end-of-line # END
|
|
bindkey '\e[1~' beginning-of-line # HOME (Workaround for screen under tmux)
|
|
bindkey '\e[4~' end-of-line # END (Workaround for screen under tmux)
|
|
bindkey '\e[3~' delete-char # DELETE
|
|
bindkey '\e[1;5C' forward-word # CTRL+RIGHT
|
|
bindkey '\e[1;5D' backward-word # CTRL+LEFT
|
|
bindkey '^[[A' history-beginning-search-backward # UP
|
|
bindkey '^[[B' history-beginning-search-forward # DOWN
|
|
;;
|
|
(screen*)
|
|
bindkey '^[[1~' beginning-of-line # HOME
|
|
bindkey '^[[4~' end-of-line # END
|
|
bindkey '\e[3~' delete-char # DELETE
|
|
bindkey '\eOc' forward-word # CTRL+RIGHT
|
|
bindkey '\eOd' backward-word # CTRL+LEFT
|
|
bindkey '^[[1;5C' forward-word # CTRL+RIGHT
|
|
bindkey '^[[1;5D' backward-word # CTRL+LEFT
|
|
bindkey '\e[A' up-line-or-beginning-search # UP
|
|
bindkey '\e[B' down-line-or-beginning-search # DOWN
|
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search
|
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search
|
|
;;
|
|
esac
|