typeset -g -A key key[Home]="${terminfo[khome]}" key[End]="${terminfo[kend]}" [[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line [[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then autoload -Uz add-zle-hook-widget function zle_application_mode_start { echoti smkx } function zle_application_mode_stop { echoti rmkx } add-zle-hook-widget -Uz zle-line-init zle_application_mode_start add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop fi ## check if fzf keybindings file exists if test -f /home/jas/.fzf/shell/key-bindings.zsh; then source /home/jas/.fzf/shell/key-bindings.zsh page-up-within-tmux() { if (( ${+TMUX} )); then tmux copy-mode -u fi } zle -N page-up-within-tmux # page up bindkey "${terminfo[kpp]}" page-up-within-tmux fi ## keybinding for convenient viewing of man pages if test -x "${HOME}/bin/tman"; then tman-widget() { "${HOME}/bin/tman"} zle -N tman-widget bindkey '^[m' tman-widget fi ## keybinding for convenient ssh connections if test -x "${HOME}/bin/gumssh"; then gumssh-widget() { "${HOME}/bin/gumssh" } zle -N gumssh-widget bindkey '^[s' gumssh-widget fi ## history substring search bindkey '^[[1;5A' history-substring-search-up bindkey '^[[1;5B' history-substring-search-down