# 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