From e9eaeebcc348581c58cffbaa53071c20c9eb4bd7 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Fri, 14 Aug 2020 11:28:35 +0200 Subject: Add key fixes for zsh --- .zshrc | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to '.zshrc') diff --git a/.zshrc b/.zshrc index b0a3b70..1242aea 100755 --- a/.zshrc +++ b/.zshrc @@ -32,6 +32,35 @@ function zle-move-to-buffer-beginning { zle -N zle-move-to-buffer-beginning +# zsh apparently doesn't read inputrc, so fix some "special" keys manually +typeset -g -A key + +key[Home]="${terminfo[khome]}" +key[End]="${terminfo[kend]}" +key[Insert]="${terminfo[kich1]}" +key[Backspace]="${terminfo[kbs]}" +key[Delete]="${terminfo[kdch1]}" +key[Up]="${terminfo[kcuu1]}" +key[Down]="${terminfo[kcud1]}" +key[Left]="${terminfo[kcub1]}" +key[Right]="${terminfo[kcuf1]}" +key[PageUp]="${terminfo[kpp]}" +key[PageDown]="${terminfo[knp]}" +key[Shift-Tab]="${terminfo[kcbt]}" + +[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line +[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line +[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode +[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char +[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char +[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history +[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history +[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char +[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char +[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history +[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history +[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete + # Bind some emacs-style bindings in insert mode bindkey -M viins '^a' beginning-of-line bindkey -M viins '^b' backward-char -- cgit v1.1