|
bindkey -v # vim bindings
|
|
|
|
# Correct various commond binding issues
|
|
bindkey '\e[3~' delete-char
|
|
|
|
# Home/End keys
|
|
bindkey '\e[1~' beginning-of-line
|
|
bindkey '\e[4~' end-of-line
|
|
bindkey '\e[H' beginning-of-line
|
|
bindkey '\e[F' end-of-line
|
|
|
|
# Ctrl + arrow to go back/forward a word at a time in a command
|
|
bindkey '\e[1;5D' backward-word
|
|
bindkey '\e[1;5C' forward-word
|
|
|
|
#
|
|
# Search history with partial completion
|
|
#
|
|
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
|
|
|
|
{{ if (eq .chezmoi.os "darwin") }}
|
|
bindkey '^[[A' history-beginning-search-backward
|
|
bindkey '^[[B' history-beginning-search-forward
|
|
{{ else if (eq .chezmoi.os "linux") }}
|
|
[[ -n "${key[Control-Left]}" ]] && bindkey -- "${key[Control-Left]}" backward-word
|
|
[[ -n "${key[Control-Right]}" ]] && bindkey -- "${key[Control-Right]}" forward-word
|
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search
|
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search
|
|
{{- end }}
|
|
|
|
bindkey '\e[A' up-line-or-beginning-search
|
|
bindkey '\e[B' down-line-or-beginning-search
|
|
|
|
bindkey '^R' history-incremental-search-backward
|