diff --git a/user/config/readline/inputrc b/user/config/readline/inputrc index bb14971..f96d55d 100644 --- a/user/config/readline/inputrc +++ b/user/config/readline/inputrc @@ -1,6 +1,84 @@ set show-mode-in-prompt on set vi-ins-mode-string \1\e[34;1m\e[6 q\2I \1\e[0m\2 set vi-cmd-mode-string \1\e[30;1m\e[2 q\2C \1\e[0m\2 -set keyseq-timeout 20 +set keyseq-timeout 150 set editing-mode vi + +set keymap vi-insert Control-d: kill-whole-line +Control-a: beginning-of-line +Control-e: end-of-line + +# adapted from: https://www.usenix.org.uk/content/bash.html#input +set keymap vi-command +Control-d: kill-whole-line +"D":kill-line +"C": "Da" +"dw": kill-word +"dd": kill-whole-line +"db": backward-kill-word +"cc": "ddi" +"cw": "dwi" +"cb": "dbi" +"daw": "lbdW" +"yaw": "lbyW" +"caw": "lbcW" +"diw": "lbdw" +"yiw": "lbyw" +"ciw": "lbcw" +"da\"": "lF\"df\"" +"di\"": "lF\"lmtf\"d`t" +"ci\"": "di\"i" +"ca\"": "da\"i" +"da'": "lF'df'" +"di'": "lF'lmtf'd`t" +"ci'": "di'i" +"ca'": "da'i" +"da`": "lF\`df\`" +"di`": "lF\`lmtf\`d`t" +"ci`": "di`i" +"ca`": "da`i" +"da(": "lF(df)" +"di(": "lF(lmtf)d`t" +"ci(": "di(i" +"ca(": "da(i" +"da)": "lF(df)" +"di)": "lF(lmtf)d`t" +"ci)": "di(i" +"ca)": "da(i" +"da{": "lF{df}" +"di{": "lF{lmtf}d`t" +"ci{": "di{i" +"ca{": "da{i" +"da}": "lF{df}" +"di}": "lF{lmtf}d`t" +"ci}": "di}i" +"ca}": "da}i" +"da[": "lF[df]" +"di[": "lF[lmtf]d`t" +"ci[": "di[i" +"ca[": "da[i" +"da]": "lF[df]" +"di]": "lF[lmtf]d`t" +"ci]": "di]i" +"ca]": "da]i" +"da<": "lF" +"di<": "lFd`t" +"ci<": "di": "lF" +"di>": "lFd`t" +"ci>": "di>i" +"ca>": "da>i" +"da/": "lF/df/" +"di/": "lF/lmtf/d`t" +"ci/": "di/i" +"ca/": "da/i" +"da:": "lF:df:" +"di:": "lF:lmtf:d`t" +"ci:": "di:i" +"ca:": "da:i" +"gg": beginning-of-history +"G": end-of-history +?: reverse-search-history +/: forward-search-history