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 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