diff --git a/home/zsh/extra-mappings.zsh b/home/zsh/extra-mappings.zsh index 8c0d886..2158250 100644 --- a/home/zsh/extra-mappings.zsh +++ b/home/zsh/extra-mappings.zsh @@ -1,5 +1,13 @@ -# Fix delete key not working -bindkey "\e[3~" delete-char +# shellcheck disable=2154 + +# The expression: (( ${+terminfo} )) should never fail, but does if we +# don't have a tty, perhaps due to a bug in the zsh/terminfo module. +if [[ "$TERM" != emacs ]] && (( ${+terminfo} )) 2>/dev/null; then + # Fix delete key not working + ((${+terminfo[kdch1]})) && bindkey -- "${terminfo[kdch1]}" delete-char + # Enable Shift-Tab to go backwards in completion list + ((${+terminfo[kcbt]})) && bindkey -- "${terminfo[kcbt]}" reverse-menu-complete +fi # Fix Ctrl+u killing from the cursor instead of the whole line bindkey '^u' backward-kill-line