backward-delete-to-slash() { local WORDCHARS=${WORDCHARS//\//} zle .backward-delete-word } zle -N backward-delete-to-slash bindkey -v "^[[3~" delete-char bindkey -v "^[[5~" backward-word bindkey -v "^[[6~" forward-word bindkey -v "^[[A" history-beginning-search-backward bindkey -v "^[[B" history-beginning-search-forward bindkey -v "^A" beginning-of-line bindkey -v "^E" end-of-line bindkey -v "^K" kill-line bindkey -v "^L" clear-screen bindkey -v "^R" history-incremental-search-backward bindkey -v "^U" kill-whole-line bindkey -v "^V" quoted-insert bindkey -v "^W" backward-kill-word bindkey -v "^h" backward-kill-word # delete last word with Ctrl+Backspace bindkey -v "^[w" backward-delete-to-slash bindkey -v "^N" down-history bindkey -v "^P" up-history bindkey -v "^[H" run-help bindkey -v "^[h" run-help autoload -U edit-command-line zle -N edit-command-line bindkey -a "v" edit-command-line # vim: et ft=zsh :