diff --git a/bind.go b/bind.go index 3edcd39..2e043a3 100644 --- a/bind.go +++ b/bind.go @@ -17,6 +17,7 @@ func DefaultVars() map[string]interface{} { "convert-meta": true, "disable-completion": false, "echo-control-characters": true, + "enable-active-region": false, "enable-bracketed-paste": false, "enable-keypad": false, "enable-meta-key": true, @@ -182,6 +183,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-OF`): Bind{"end-of-line", false}, Unescape(`\M-[F`): Bind{"end-of-line", false}, Unescape(`\C-x\C-x`): Bind{"exchange-point-and-mark", false}, + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`\C-f`): Bind{"forward-char", false}, @@ -239,234 +241,234 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\C-v`): Bind{"quoted-insert", false}, Unescape(`\C-x\C-r`): Bind{"re-read-init-file", false}, // redraw-current-line (not bound) - Unescape(`\C-r`): Bind{"reverse-search-history", false}, - Unescape(`\M-\C-r`): Bind{"revert-line", false}, - Unescape(`\M-r`): Bind{"revert-line", false}, - Unescape(` `): Bind{"self-insert", false}, - Unescape(`!`): Bind{"self-insert", false}, - Unescape(`\"`): Bind{"self-insert", false}, - Unescape(`#`): Bind{"self-insert", false}, - Unescape(`$`): Bind{"self-insert", false}, - Unescape(`%`): Bind{"self-insert", false}, - Unescape(`&`): Bind{"self-insert", false}, - Unescape(`'`): Bind{"self-insert", false}, - Unescape(`(`): Bind{"self-insert", false}, - Unescape(`)`): Bind{"self-insert", false}, - Unescape(`*`): Bind{"self-insert", false}, - Unescape(`+`): Bind{"self-insert", false}, - Unescape(`,`): Bind{"self-insert", false}, - Unescape(`-`): Bind{"self-insert", false}, - Unescape(`.`): Bind{"self-insert", false}, - Unescape(`/`): Bind{"self-insert", false}, - Unescape(`0`): Bind{"self-insert", false}, - Unescape(`1`): Bind{"self-insert", false}, - Unescape(`2`): Bind{"self-insert", false}, - Unescape(`3`): Bind{"self-insert", false}, - Unescape(`4`): Bind{"self-insert", false}, - Unescape(`5`): Bind{"self-insert", false}, - Unescape(`6`): Bind{"self-insert", false}, - Unescape(`7`): Bind{"self-insert", false}, - Unescape(`8`): Bind{"self-insert", false}, - Unescape(`9`): Bind{"self-insert", false}, - Unescape(`:`): Bind{"self-insert", false}, - Unescape(`;`): Bind{"self-insert", false}, - Unescape(`<`): Bind{"self-insert", false}, - Unescape(`=`): Bind{"self-insert", false}, - Unescape(`>`): Bind{"self-insert", false}, - Unescape(`?`): Bind{"self-insert", false}, - Unescape(`@`): Bind{"self-insert", false}, - Unescape(`A`): Bind{"self-insert", false}, - Unescape(`B`): Bind{"self-insert", false}, - Unescape(`C`): Bind{"self-insert", false}, - Unescape(`D`): Bind{"self-insert", false}, - Unescape(`E`): Bind{"self-insert", false}, - Unescape(`F`): Bind{"self-insert", false}, - Unescape(`G`): Bind{"self-insert", false}, - Unescape(`H`): Bind{"self-insert", false}, - Unescape(`I`): Bind{"self-insert", false}, - Unescape(`J`): Bind{"self-insert", false}, - Unescape(`K`): Bind{"self-insert", false}, - Unescape(`L`): Bind{"self-insert", false}, - Unescape(`M`): Bind{"self-insert", false}, - Unescape(`N`): Bind{"self-insert", false}, - Unescape(`O`): Bind{"self-insert", false}, - Unescape(`P`): Bind{"self-insert", false}, - Unescape(`Q`): Bind{"self-insert", false}, - Unescape(`R`): Bind{"self-insert", false}, - Unescape(`S`): Bind{"self-insert", false}, - Unescape(`T`): Bind{"self-insert", false}, - Unescape(`U`): Bind{"self-insert", false}, - Unescape(`V`): Bind{"self-insert", false}, - Unescape(`W`): Bind{"self-insert", false}, - Unescape(`X`): Bind{"self-insert", false}, - Unescape(`Y`): Bind{"self-insert", false}, - Unescape(`Z`): Bind{"self-insert", false}, - Unescape(`[`): Bind{"self-insert", false}, - Unescape(`\\`): Bind{"self-insert", false}, - Unescape(`]`): Bind{"self-insert", false}, - Unescape(`^`): Bind{"self-insert", false}, - Unescape(`_`): Bind{"self-insert", false}, - Unescape("`"): Bind{"self-insert", false}, - Unescape(`a`): Bind{"self-insert", false}, - Unescape(`b`): Bind{"self-insert", false}, - Unescape(`c`): Bind{"self-insert", false}, - Unescape(`d`): Bind{"self-insert", false}, - Unescape(`e`): Bind{"self-insert", false}, - Unescape(`f`): Bind{"self-insert", false}, - Unescape(`g`): Bind{"self-insert", false}, - Unescape(`h`): Bind{"self-insert", false}, - Unescape(`i`): Bind{"self-insert", false}, - Unescape(`j`): Bind{"self-insert", false}, - Unescape(`k`): Bind{"self-insert", false}, - Unescape(`l`): Bind{"self-insert", false}, - Unescape(`m`): Bind{"self-insert", false}, - Unescape(`n`): Bind{"self-insert", false}, - Unescape(`o`): Bind{"self-insert", false}, - Unescape(`p`): Bind{"self-insert", false}, - Unescape(`q`): Bind{"self-insert", false}, - Unescape(`r`): Bind{"self-insert", false}, - Unescape(`s`): Bind{"self-insert", false}, - Unescape(`t`): Bind{"self-insert", false}, - Unescape(`u`): Bind{"self-insert", false}, - Unescape(`v`): Bind{"self-insert", false}, - Unescape(`w`): Bind{"self-insert", false}, - Unescape(`x`): Bind{"self-insert", false}, - Unescape(`y`): Bind{"self-insert", false}, - Unescape(`z`): Bind{"self-insert", false}, - Unescape(`{`): Bind{"self-insert", false}, - Unescape(`|`): Bind{"self-insert", false}, - Unescape(`}`): Bind{"self-insert", false}, - Unescape(`~`): Bind{"self-insert", false}, - Unescape(`\200`): Bind{"self-insert", false}, - Unescape(`\201`): Bind{"self-insert", false}, - Unescape(`\202`): Bind{"self-insert", false}, - Unescape(`\203`): Bind{"self-insert", false}, - Unescape(`\204`): Bind{"self-insert", false}, - Unescape(`\205`): Bind{"self-insert", false}, - Unescape(`\206`): Bind{"self-insert", false}, - Unescape(`\207`): Bind{"self-insert", false}, - Unescape(`\210`): Bind{"self-insert", false}, - Unescape(`\211`): Bind{"self-insert", false}, - Unescape(`\212`): Bind{"self-insert", false}, - Unescape(`\213`): Bind{"self-insert", false}, - Unescape(`\214`): Bind{"self-insert", false}, - Unescape(`\215`): Bind{"self-insert", false}, - Unescape(`\216`): Bind{"self-insert", false}, - Unescape(`\217`): Bind{"self-insert", false}, - Unescape(`\220`): Bind{"self-insert", false}, - Unescape(`\221`): Bind{"self-insert", false}, - Unescape(`\222`): Bind{"self-insert", false}, - Unescape(`\223`): Bind{"self-insert", false}, - Unescape(`\224`): Bind{"self-insert", false}, - Unescape(`\225`): Bind{"self-insert", false}, - Unescape(`\226`): Bind{"self-insert", false}, - Unescape(`\227`): Bind{"self-insert", false}, - Unescape(`\230`): Bind{"self-insert", false}, - Unescape(`\231`): Bind{"self-insert", false}, - Unescape(`\232`): Bind{"self-insert", false}, - Unescape(`\233`): Bind{"self-insert", false}, - Unescape(`\234`): Bind{"self-insert", false}, - Unescape(`\235`): Bind{"self-insert", false}, - Unescape(`\236`): Bind{"self-insert", false}, - Unescape(`\237`): Bind{"self-insert", false}, - Unescape(string([]byte{0xa0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xaa})): Bind{"self-insert", false}, - Unescape(string([]byte{0xab})): Bind{"self-insert", false}, - Unescape(string([]byte{0xac})): Bind{"self-insert", false}, - Unescape(string([]byte{0xad})): Bind{"self-insert", false}, - Unescape(string([]byte{0xae})): Bind{"self-insert", false}, - Unescape(string([]byte{0xaf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xba})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbe})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xca})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xce})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xda})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xde})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xea})): Bind{"self-insert", false}, - Unescape(string([]byte{0xeb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xec})): Bind{"self-insert", false}, - Unescape(string([]byte{0xed})): Bind{"self-insert", false}, - Unescape(string([]byte{0xee})): Bind{"self-insert", false}, - Unescape(string([]byte{0xef})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfa})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfe})): Bind{"self-insert", false}, - Unescape(string([]byte{0xff})): Bind{"self-insert", false}, - Unescape(`\C-@`): Bind{"set-mark", false}, - Unescape(`\M- `): Bind{"set-mark", false}, + Unescape(`\C-r`): Bind{"reverse-search-history", false}, + Unescape(`\M-\C-r`): Bind{"revert-line", false}, + Unescape(`\M-r`): Bind{"revert-line", false}, + Unescape(` `): Bind{"self-insert", false}, + Unescape(`!`): Bind{"self-insert", false}, + Unescape(`\"`): Bind{"self-insert", false}, + Unescape(`#`): Bind{"self-insert", false}, + Unescape(`$`): Bind{"self-insert", false}, + Unescape(`%`): Bind{"self-insert", false}, + Unescape(`&`): Bind{"self-insert", false}, + Unescape(`'`): Bind{"self-insert", false}, + Unescape(`(`): Bind{"self-insert", false}, + Unescape(`)`): Bind{"self-insert", false}, + Unescape(`*`): Bind{"self-insert", false}, + Unescape(`+`): Bind{"self-insert", false}, + Unescape(`,`): Bind{"self-insert", false}, + Unescape(`-`): Bind{"self-insert", false}, + Unescape(`.`): Bind{"self-insert", false}, + Unescape(`/`): Bind{"self-insert", false}, + Unescape(`0`): Bind{"self-insert", false}, + Unescape(`1`): Bind{"self-insert", false}, + Unescape(`2`): Bind{"self-insert", false}, + Unescape(`3`): Bind{"self-insert", false}, + Unescape(`4`): Bind{"self-insert", false}, + Unescape(`5`): Bind{"self-insert", false}, + Unescape(`6`): Bind{"self-insert", false}, + Unescape(`7`): Bind{"self-insert", false}, + Unescape(`8`): Bind{"self-insert", false}, + Unescape(`9`): Bind{"self-insert", false}, + Unescape(`:`): Bind{"self-insert", false}, + Unescape(`;`): Bind{"self-insert", false}, + Unescape(`<`): Bind{"self-insert", false}, + Unescape(`=`): Bind{"self-insert", false}, + Unescape(`>`): Bind{"self-insert", false}, + Unescape(`?`): Bind{"self-insert", false}, + Unescape(`@`): Bind{"self-insert", false}, + Unescape(`A`): Bind{"self-insert", false}, + Unescape(`B`): Bind{"self-insert", false}, + Unescape(`C`): Bind{"self-insert", false}, + Unescape(`D`): Bind{"self-insert", false}, + Unescape(`E`): Bind{"self-insert", false}, + Unescape(`F`): Bind{"self-insert", false}, + Unescape(`G`): Bind{"self-insert", false}, + Unescape(`H`): Bind{"self-insert", false}, + Unescape(`I`): Bind{"self-insert", false}, + Unescape(`J`): Bind{"self-insert", false}, + Unescape(`K`): Bind{"self-insert", false}, + Unescape(`L`): Bind{"self-insert", false}, + Unescape(`M`): Bind{"self-insert", false}, + Unescape(`N`): Bind{"self-insert", false}, + Unescape(`O`): Bind{"self-insert", false}, + Unescape(`P`): Bind{"self-insert", false}, + Unescape(`Q`): Bind{"self-insert", false}, + Unescape(`R`): Bind{"self-insert", false}, + Unescape(`S`): Bind{"self-insert", false}, + Unescape(`T`): Bind{"self-insert", false}, + Unescape(`U`): Bind{"self-insert", false}, + Unescape(`V`): Bind{"self-insert", false}, + Unescape(`W`): Bind{"self-insert", false}, + Unescape(`X`): Bind{"self-insert", false}, + Unescape(`Y`): Bind{"self-insert", false}, + Unescape(`Z`): Bind{"self-insert", false}, + Unescape(`[`): Bind{"self-insert", false}, + Unescape(`\\`): Bind{"self-insert", false}, + Unescape(`]`): Bind{"self-insert", false}, + Unescape(`^`): Bind{"self-insert", false}, + Unescape(`_`): Bind{"self-insert", false}, + Unescape("`"): Bind{"self-insert", false}, + Unescape(`a`): Bind{"self-insert", false}, + Unescape(`b`): Bind{"self-insert", false}, + Unescape(`c`): Bind{"self-insert", false}, + Unescape(`d`): Bind{"self-insert", false}, + Unescape(`e`): Bind{"self-insert", false}, + Unescape(`f`): Bind{"self-insert", false}, + Unescape(`g`): Bind{"self-insert", false}, + Unescape(`h`): Bind{"self-insert", false}, + Unescape(`i`): Bind{"self-insert", false}, + Unescape(`j`): Bind{"self-insert", false}, + Unescape(`k`): Bind{"self-insert", false}, + Unescape(`l`): Bind{"self-insert", false}, + Unescape(`m`): Bind{"self-insert", false}, + Unescape(`n`): Bind{"self-insert", false}, + Unescape(`o`): Bind{"self-insert", false}, + Unescape(`p`): Bind{"self-insert", false}, + Unescape(`q`): Bind{"self-insert", false}, + Unescape(`r`): Bind{"self-insert", false}, + Unescape(`s`): Bind{"self-insert", false}, + Unescape(`t`): Bind{"self-insert", false}, + Unescape(`u`): Bind{"self-insert", false}, + Unescape(`v`): Bind{"self-insert", false}, + Unescape(`w`): Bind{"self-insert", false}, + Unescape(`x`): Bind{"self-insert", false}, + Unescape(`y`): Bind{"self-insert", false}, + Unescape(`z`): Bind{"self-insert", false}, + Unescape(`{`): Bind{"self-insert", false}, + Unescape(`|`): Bind{"self-insert", false}, + Unescape(`}`): Bind{"self-insert", false}, + Unescape(`~`): Bind{"self-insert", false}, + Unescape(`\200`): Bind{"self-insert", false}, + Unescape(`\201`): Bind{"self-insert", false}, + Unescape(`\202`): Bind{"self-insert", false}, + Unescape(`\203`): Bind{"self-insert", false}, + Unescape(`\204`): Bind{"self-insert", false}, + Unescape(`\205`): Bind{"self-insert", false}, + Unescape(`\206`): Bind{"self-insert", false}, + Unescape(`\207`): Bind{"self-insert", false}, + Unescape(`\210`): Bind{"self-insert", false}, + Unescape(`\211`): Bind{"self-insert", false}, + Unescape(`\212`): Bind{"self-insert", false}, + Unescape(`\213`): Bind{"self-insert", false}, + Unescape(`\214`): Bind{"self-insert", false}, + Unescape(`\215`): Bind{"self-insert", false}, + Unescape(`\216`): Bind{"self-insert", false}, + Unescape(`\217`): Bind{"self-insert", false}, + Unescape(`\220`): Bind{"self-insert", false}, + Unescape(`\221`): Bind{"self-insert", false}, + Unescape(`\222`): Bind{"self-insert", false}, + Unescape(`\223`): Bind{"self-insert", false}, + Unescape(`\224`): Bind{"self-insert", false}, + Unescape(`\225`): Bind{"self-insert", false}, + Unescape(`\226`): Bind{"self-insert", false}, + Unescape(`\227`): Bind{"self-insert", false}, + Unescape(`\230`): Bind{"self-insert", false}, + Unescape(`\231`): Bind{"self-insert", false}, + Unescape(`\232`): Bind{"self-insert", false}, + Unescape(`\233`): Bind{"self-insert", false}, + Unescape(`\234`): Bind{"self-insert", false}, + Unescape(`\235`): Bind{"self-insert", false}, + Unescape(`\236`): Bind{"self-insert", false}, + Unescape(`\237`): Bind{"self-insert", false}, + Unescape(`\240`): Bind{"self-insert", false}, + Unescape(`\241`): Bind{"self-insert", false}, + Unescape(`\242`): Bind{"self-insert", false}, + Unescape(`\243`): Bind{"self-insert", false}, + Unescape(`\244`): Bind{"self-insert", false}, + Unescape(`\245`): Bind{"self-insert", false}, + Unescape(`\246`): Bind{"self-insert", false}, + Unescape(`\247`): Bind{"self-insert", false}, + Unescape(`\250`): Bind{"self-insert", false}, + Unescape(`\251`): Bind{"self-insert", false}, + Unescape(`\252`): Bind{"self-insert", false}, + Unescape(`\253`): Bind{"self-insert", false}, + Unescape(`\254`): Bind{"self-insert", false}, + Unescape(`\255`): Bind{"self-insert", false}, + Unescape(`\256`): Bind{"self-insert", false}, + Unescape(`\257`): Bind{"self-insert", false}, + Unescape(`\260`): Bind{"self-insert", false}, + Unescape(`\261`): Bind{"self-insert", false}, + Unescape(`\262`): Bind{"self-insert", false}, + Unescape(`\263`): Bind{"self-insert", false}, + Unescape(`\264`): Bind{"self-insert", false}, + Unescape(`\265`): Bind{"self-insert", false}, + Unescape(`\266`): Bind{"self-insert", false}, + Unescape(`\267`): Bind{"self-insert", false}, + Unescape(`\270`): Bind{"self-insert", false}, + Unescape(`\271`): Bind{"self-insert", false}, + Unescape(`\272`): Bind{"self-insert", false}, + Unescape(`\273`): Bind{"self-insert", false}, + Unescape(`\274`): Bind{"self-insert", false}, + Unescape(`\275`): Bind{"self-insert", false}, + Unescape(`\276`): Bind{"self-insert", false}, + Unescape(`\277`): Bind{"self-insert", false}, + Unescape(`\300`): Bind{"self-insert", false}, + Unescape(`\301`): Bind{"self-insert", false}, + Unescape(`\302`): Bind{"self-insert", false}, + Unescape(`\303`): Bind{"self-insert", false}, + Unescape(`\304`): Bind{"self-insert", false}, + Unescape(`\305`): Bind{"self-insert", false}, + Unescape(`\306`): Bind{"self-insert", false}, + Unescape(`\307`): Bind{"self-insert", false}, + Unescape(`\310`): Bind{"self-insert", false}, + Unescape(`\311`): Bind{"self-insert", false}, + Unescape(`\312`): Bind{"self-insert", false}, + Unescape(`\313`): Bind{"self-insert", false}, + Unescape(`\314`): Bind{"self-insert", false}, + Unescape(`\315`): Bind{"self-insert", false}, + Unescape(`\316`): Bind{"self-insert", false}, + Unescape(`\317`): Bind{"self-insert", false}, + Unescape(`\320`): Bind{"self-insert", false}, + Unescape(`\321`): Bind{"self-insert", false}, + Unescape(`\322`): Bind{"self-insert", false}, + Unescape(`\323`): Bind{"self-insert", false}, + Unescape(`\324`): Bind{"self-insert", false}, + Unescape(`\325`): Bind{"self-insert", false}, + Unescape(`\326`): Bind{"self-insert", false}, + Unescape(`\327`): Bind{"self-insert", false}, + Unescape(`\330`): Bind{"self-insert", false}, + Unescape(`\331`): Bind{"self-insert", false}, + Unescape(`\332`): Bind{"self-insert", false}, + Unescape(`\333`): Bind{"self-insert", false}, + Unescape(`\334`): Bind{"self-insert", false}, + Unescape(`\335`): Bind{"self-insert", false}, + Unescape(`\336`): Bind{"self-insert", false}, + Unescape(`\337`): Bind{"self-insert", false}, + Unescape(`\340`): Bind{"self-insert", false}, + Unescape(`\341`): Bind{"self-insert", false}, + Unescape(`\342`): Bind{"self-insert", false}, + Unescape(`\343`): Bind{"self-insert", false}, + Unescape(`\344`): Bind{"self-insert", false}, + Unescape(`\345`): Bind{"self-insert", false}, + Unescape(`\346`): Bind{"self-insert", false}, + Unescape(`\347`): Bind{"self-insert", false}, + Unescape(`\350`): Bind{"self-insert", false}, + Unescape(`\351`): Bind{"self-insert", false}, + Unescape(`\352`): Bind{"self-insert", false}, + Unescape(`\353`): Bind{"self-insert", false}, + Unescape(`\354`): Bind{"self-insert", false}, + Unescape(`\355`): Bind{"self-insert", false}, + Unescape(`\356`): Bind{"self-insert", false}, + Unescape(`\357`): Bind{"self-insert", false}, + Unescape(`\360`): Bind{"self-insert", false}, + Unescape(`\361`): Bind{"self-insert", false}, + Unescape(`\362`): Bind{"self-insert", false}, + Unescape(`\363`): Bind{"self-insert", false}, + Unescape(`\364`): Bind{"self-insert", false}, + Unescape(`\365`): Bind{"self-insert", false}, + Unescape(`\366`): Bind{"self-insert", false}, + Unescape(`\367`): Bind{"self-insert", false}, + Unescape(`\370`): Bind{"self-insert", false}, + Unescape(`\371`): Bind{"self-insert", false}, + Unescape(`\372`): Bind{"self-insert", false}, + Unescape(`\373`): Bind{"self-insert", false}, + Unescape(`\374`): Bind{"self-insert", false}, + Unescape(`\375`): Bind{"self-insert", false}, + Unescape(`\376`): Bind{"self-insert", false}, + Unescape(`\377`): Bind{"self-insert", false}, + Unescape(`\C-@`): Bind{"set-mark", false}, + Unescape(`\M- `): Bind{"set-mark", false}, // shell-backward-kill-word (not bound) Unescape(`\M-\C-b`): Bind{"shell-backward-word", false}, Unescape(`\M-\C-e`): Bind{"shell-expand-line", false}, @@ -474,6 +476,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-\C-d`): Bind{"shell-kill-word", false}, Unescape(`\M-\C-t`): Bind{"shell-transpose-words", false}, // skip-csi-sequence (not bound) + Unescape(`\C-xs`): Bind{"spell-correct-word", false}, Unescape(`\C-x(`): Bind{"start-kbd-macro", false}, // tab-insert (not bound) Unescape(`\M-&`): Bind{"tilde-expand", false}, @@ -504,6 +507,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-delete (not bound) // vi-delete-to (not bound) // vi-eWord (not bound) + // vi-edit-and-execute-command (not bound) // vi-editing-mode (not bound) // vi-end-bigword (not bound) // vi-end-word (not bound) @@ -533,6 +537,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-set-mark (not bound) // vi-subst (not bound) // vi-tilde-expand (not bound) + // vi-undo (not bound) // vi-unix-word-rubout (not bound) // vi-yank-arg (not bound) // vi-yank-pop (not bound) @@ -665,6 +670,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-OF`): Bind{"end-of-line", false}, Unescape(`\M-[F`): Bind{"end-of-line", false}, Unescape(`\C-x\C-x`): Bind{"exchange-point-and-mark", false}, + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`\C-f`): Bind{"forward-char", false}, @@ -722,234 +728,234 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\C-v`): Bind{"quoted-insert", false}, Unescape(`\C-x\C-r`): Bind{"re-read-init-file", false}, // redraw-current-line (not bound) - Unescape(`\C-r`): Bind{"reverse-search-history", false}, - Unescape(`\M-\C-r`): Bind{"revert-line", false}, - Unescape(`\M-r`): Bind{"revert-line", false}, - Unescape(` `): Bind{"self-insert", false}, - Unescape(`!`): Bind{"self-insert", false}, - Unescape(`\"`): Bind{"self-insert", false}, - Unescape(`#`): Bind{"self-insert", false}, - Unescape(`$`): Bind{"self-insert", false}, - Unescape(`%`): Bind{"self-insert", false}, - Unescape(`&`): Bind{"self-insert", false}, - Unescape(`'`): Bind{"self-insert", false}, - Unescape(`(`): Bind{"self-insert", false}, - Unescape(`)`): Bind{"self-insert", false}, - Unescape(`*`): Bind{"self-insert", false}, - Unescape(`+`): Bind{"self-insert", false}, - Unescape(`,`): Bind{"self-insert", false}, - Unescape(`-`): Bind{"self-insert", false}, - Unescape(`.`): Bind{"self-insert", false}, - Unescape(`/`): Bind{"self-insert", false}, - Unescape(`0`): Bind{"self-insert", false}, - Unescape(`1`): Bind{"self-insert", false}, - Unescape(`2`): Bind{"self-insert", false}, - Unescape(`3`): Bind{"self-insert", false}, - Unescape(`4`): Bind{"self-insert", false}, - Unescape(`5`): Bind{"self-insert", false}, - Unescape(`6`): Bind{"self-insert", false}, - Unescape(`7`): Bind{"self-insert", false}, - Unescape(`8`): Bind{"self-insert", false}, - Unescape(`9`): Bind{"self-insert", false}, - Unescape(`:`): Bind{"self-insert", false}, - Unescape(`;`): Bind{"self-insert", false}, - Unescape(`<`): Bind{"self-insert", false}, - Unescape(`=`): Bind{"self-insert", false}, - Unescape(`>`): Bind{"self-insert", false}, - Unescape(`?`): Bind{"self-insert", false}, - Unescape(`@`): Bind{"self-insert", false}, - Unescape(`A`): Bind{"self-insert", false}, - Unescape(`B`): Bind{"self-insert", false}, - Unescape(`C`): Bind{"self-insert", false}, - Unescape(`D`): Bind{"self-insert", false}, - Unescape(`E`): Bind{"self-insert", false}, - Unescape(`F`): Bind{"self-insert", false}, - Unescape(`G`): Bind{"self-insert", false}, - Unescape(`H`): Bind{"self-insert", false}, - Unescape(`I`): Bind{"self-insert", false}, - Unescape(`J`): Bind{"self-insert", false}, - Unescape(`K`): Bind{"self-insert", false}, - Unescape(`L`): Bind{"self-insert", false}, - Unescape(`M`): Bind{"self-insert", false}, - Unescape(`N`): Bind{"self-insert", false}, - Unescape(`O`): Bind{"self-insert", false}, - Unescape(`P`): Bind{"self-insert", false}, - Unescape(`Q`): Bind{"self-insert", false}, - Unescape(`R`): Bind{"self-insert", false}, - Unescape(`S`): Bind{"self-insert", false}, - Unescape(`T`): Bind{"self-insert", false}, - Unescape(`U`): Bind{"self-insert", false}, - Unescape(`V`): Bind{"self-insert", false}, - Unescape(`W`): Bind{"self-insert", false}, - Unescape(`X`): Bind{"self-insert", false}, - Unescape(`Y`): Bind{"self-insert", false}, - Unescape(`Z`): Bind{"self-insert", false}, - Unescape(`[`): Bind{"self-insert", false}, - Unescape(`\\`): Bind{"self-insert", false}, - Unescape(`]`): Bind{"self-insert", false}, - Unescape(`^`): Bind{"self-insert", false}, - Unescape(`_`): Bind{"self-insert", false}, - Unescape("`"): Bind{"self-insert", false}, - Unescape(`a`): Bind{"self-insert", false}, - Unescape(`b`): Bind{"self-insert", false}, - Unescape(`c`): Bind{"self-insert", false}, - Unescape(`d`): Bind{"self-insert", false}, - Unescape(`e`): Bind{"self-insert", false}, - Unescape(`f`): Bind{"self-insert", false}, - Unescape(`g`): Bind{"self-insert", false}, - Unescape(`h`): Bind{"self-insert", false}, - Unescape(`i`): Bind{"self-insert", false}, - Unescape(`j`): Bind{"self-insert", false}, - Unescape(`k`): Bind{"self-insert", false}, - Unescape(`l`): Bind{"self-insert", false}, - Unescape(`m`): Bind{"self-insert", false}, - Unescape(`n`): Bind{"self-insert", false}, - Unescape(`o`): Bind{"self-insert", false}, - Unescape(`p`): Bind{"self-insert", false}, - Unescape(`q`): Bind{"self-insert", false}, - Unescape(`r`): Bind{"self-insert", false}, - Unescape(`s`): Bind{"self-insert", false}, - Unescape(`t`): Bind{"self-insert", false}, - Unescape(`u`): Bind{"self-insert", false}, - Unescape(`v`): Bind{"self-insert", false}, - Unescape(`w`): Bind{"self-insert", false}, - Unescape(`x`): Bind{"self-insert", false}, - Unescape(`y`): Bind{"self-insert", false}, - Unescape(`z`): Bind{"self-insert", false}, - Unescape(`{`): Bind{"self-insert", false}, - Unescape(`|`): Bind{"self-insert", false}, - Unescape(`}`): Bind{"self-insert", false}, - Unescape(`~`): Bind{"self-insert", false}, - Unescape(`\200`): Bind{"self-insert", false}, - Unescape(`\201`): Bind{"self-insert", false}, - Unescape(`\202`): Bind{"self-insert", false}, - Unescape(`\203`): Bind{"self-insert", false}, - Unescape(`\204`): Bind{"self-insert", false}, - Unescape(`\205`): Bind{"self-insert", false}, - Unescape(`\206`): Bind{"self-insert", false}, - Unescape(`\207`): Bind{"self-insert", false}, - Unescape(`\210`): Bind{"self-insert", false}, - Unescape(`\211`): Bind{"self-insert", false}, - Unescape(`\212`): Bind{"self-insert", false}, - Unescape(`\213`): Bind{"self-insert", false}, - Unescape(`\214`): Bind{"self-insert", false}, - Unescape(`\215`): Bind{"self-insert", false}, - Unescape(`\216`): Bind{"self-insert", false}, - Unescape(`\217`): Bind{"self-insert", false}, - Unescape(`\220`): Bind{"self-insert", false}, - Unescape(`\221`): Bind{"self-insert", false}, - Unescape(`\222`): Bind{"self-insert", false}, - Unescape(`\223`): Bind{"self-insert", false}, - Unescape(`\224`): Bind{"self-insert", false}, - Unescape(`\225`): Bind{"self-insert", false}, - Unescape(`\226`): Bind{"self-insert", false}, - Unescape(`\227`): Bind{"self-insert", false}, - Unescape(`\230`): Bind{"self-insert", false}, - Unescape(`\231`): Bind{"self-insert", false}, - Unescape(`\232`): Bind{"self-insert", false}, - Unescape(`\233`): Bind{"self-insert", false}, - Unescape(`\234`): Bind{"self-insert", false}, - Unescape(`\235`): Bind{"self-insert", false}, - Unescape(`\236`): Bind{"self-insert", false}, - Unescape(`\237`): Bind{"self-insert", false}, - Unescape(string([]byte{0xa0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xaa})): Bind{"self-insert", false}, - Unescape(string([]byte{0xab})): Bind{"self-insert", false}, - Unescape(string([]byte{0xac})): Bind{"self-insert", false}, - Unescape(string([]byte{0xad})): Bind{"self-insert", false}, - Unescape(string([]byte{0xae})): Bind{"self-insert", false}, - Unescape(string([]byte{0xaf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xba})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbe})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xca})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xce})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xda})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xde})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xea})): Bind{"self-insert", false}, - Unescape(string([]byte{0xeb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xec})): Bind{"self-insert", false}, - Unescape(string([]byte{0xed})): Bind{"self-insert", false}, - Unescape(string([]byte{0xee})): Bind{"self-insert", false}, - Unescape(string([]byte{0xef})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfa})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfe})): Bind{"self-insert", false}, - Unescape(string([]byte{0xff})): Bind{"self-insert", false}, - Unescape(`\C-@`): Bind{"set-mark", false}, - Unescape(`\M- `): Bind{"set-mark", false}, + Unescape(`\C-r`): Bind{"reverse-search-history", false}, + Unescape(`\M-\C-r`): Bind{"revert-line", false}, + Unescape(`\M-r`): Bind{"revert-line", false}, + Unescape(` `): Bind{"self-insert", false}, + Unescape(`!`): Bind{"self-insert", false}, + Unescape(`\"`): Bind{"self-insert", false}, + Unescape(`#`): Bind{"self-insert", false}, + Unescape(`$`): Bind{"self-insert", false}, + Unescape(`%`): Bind{"self-insert", false}, + Unescape(`&`): Bind{"self-insert", false}, + Unescape(`'`): Bind{"self-insert", false}, + Unescape(`(`): Bind{"self-insert", false}, + Unescape(`)`): Bind{"self-insert", false}, + Unescape(`*`): Bind{"self-insert", false}, + Unescape(`+`): Bind{"self-insert", false}, + Unescape(`,`): Bind{"self-insert", false}, + Unescape(`-`): Bind{"self-insert", false}, + Unescape(`.`): Bind{"self-insert", false}, + Unescape(`/`): Bind{"self-insert", false}, + Unescape(`0`): Bind{"self-insert", false}, + Unescape(`1`): Bind{"self-insert", false}, + Unescape(`2`): Bind{"self-insert", false}, + Unescape(`3`): Bind{"self-insert", false}, + Unescape(`4`): Bind{"self-insert", false}, + Unescape(`5`): Bind{"self-insert", false}, + Unescape(`6`): Bind{"self-insert", false}, + Unescape(`7`): Bind{"self-insert", false}, + Unescape(`8`): Bind{"self-insert", false}, + Unescape(`9`): Bind{"self-insert", false}, + Unescape(`:`): Bind{"self-insert", false}, + Unescape(`;`): Bind{"self-insert", false}, + Unescape(`<`): Bind{"self-insert", false}, + Unescape(`=`): Bind{"self-insert", false}, + Unescape(`>`): Bind{"self-insert", false}, + Unescape(`?`): Bind{"self-insert", false}, + Unescape(`@`): Bind{"self-insert", false}, + Unescape(`A`): Bind{"self-insert", false}, + Unescape(`B`): Bind{"self-insert", false}, + Unescape(`C`): Bind{"self-insert", false}, + Unescape(`D`): Bind{"self-insert", false}, + Unescape(`E`): Bind{"self-insert", false}, + Unescape(`F`): Bind{"self-insert", false}, + Unescape(`G`): Bind{"self-insert", false}, + Unescape(`H`): Bind{"self-insert", false}, + Unescape(`I`): Bind{"self-insert", false}, + Unescape(`J`): Bind{"self-insert", false}, + Unescape(`K`): Bind{"self-insert", false}, + Unescape(`L`): Bind{"self-insert", false}, + Unescape(`M`): Bind{"self-insert", false}, + Unescape(`N`): Bind{"self-insert", false}, + Unescape(`O`): Bind{"self-insert", false}, + Unescape(`P`): Bind{"self-insert", false}, + Unescape(`Q`): Bind{"self-insert", false}, + Unescape(`R`): Bind{"self-insert", false}, + Unescape(`S`): Bind{"self-insert", false}, + Unescape(`T`): Bind{"self-insert", false}, + Unescape(`U`): Bind{"self-insert", false}, + Unescape(`V`): Bind{"self-insert", false}, + Unescape(`W`): Bind{"self-insert", false}, + Unescape(`X`): Bind{"self-insert", false}, + Unescape(`Y`): Bind{"self-insert", false}, + Unescape(`Z`): Bind{"self-insert", false}, + Unescape(`[`): Bind{"self-insert", false}, + Unescape(`\\`): Bind{"self-insert", false}, + Unescape(`]`): Bind{"self-insert", false}, + Unescape(`^`): Bind{"self-insert", false}, + Unescape(`_`): Bind{"self-insert", false}, + Unescape("`"): Bind{"self-insert", false}, + Unescape(`a`): Bind{"self-insert", false}, + Unescape(`b`): Bind{"self-insert", false}, + Unescape(`c`): Bind{"self-insert", false}, + Unescape(`d`): Bind{"self-insert", false}, + Unescape(`e`): Bind{"self-insert", false}, + Unescape(`f`): Bind{"self-insert", false}, + Unescape(`g`): Bind{"self-insert", false}, + Unescape(`h`): Bind{"self-insert", false}, + Unescape(`i`): Bind{"self-insert", false}, + Unescape(`j`): Bind{"self-insert", false}, + Unescape(`k`): Bind{"self-insert", false}, + Unescape(`l`): Bind{"self-insert", false}, + Unescape(`m`): Bind{"self-insert", false}, + Unescape(`n`): Bind{"self-insert", false}, + Unescape(`o`): Bind{"self-insert", false}, + Unescape(`p`): Bind{"self-insert", false}, + Unescape(`q`): Bind{"self-insert", false}, + Unescape(`r`): Bind{"self-insert", false}, + Unescape(`s`): Bind{"self-insert", false}, + Unescape(`t`): Bind{"self-insert", false}, + Unescape(`u`): Bind{"self-insert", false}, + Unescape(`v`): Bind{"self-insert", false}, + Unescape(`w`): Bind{"self-insert", false}, + Unescape(`x`): Bind{"self-insert", false}, + Unescape(`y`): Bind{"self-insert", false}, + Unescape(`z`): Bind{"self-insert", false}, + Unescape(`{`): Bind{"self-insert", false}, + Unescape(`|`): Bind{"self-insert", false}, + Unescape(`}`): Bind{"self-insert", false}, + Unescape(`~`): Bind{"self-insert", false}, + Unescape(`\200`): Bind{"self-insert", false}, + Unescape(`\201`): Bind{"self-insert", false}, + Unescape(`\202`): Bind{"self-insert", false}, + Unescape(`\203`): Bind{"self-insert", false}, + Unescape(`\204`): Bind{"self-insert", false}, + Unescape(`\205`): Bind{"self-insert", false}, + Unescape(`\206`): Bind{"self-insert", false}, + Unescape(`\207`): Bind{"self-insert", false}, + Unescape(`\210`): Bind{"self-insert", false}, + Unescape(`\211`): Bind{"self-insert", false}, + Unescape(`\212`): Bind{"self-insert", false}, + Unescape(`\213`): Bind{"self-insert", false}, + Unescape(`\214`): Bind{"self-insert", false}, + Unescape(`\215`): Bind{"self-insert", false}, + Unescape(`\216`): Bind{"self-insert", false}, + Unescape(`\217`): Bind{"self-insert", false}, + Unescape(`\220`): Bind{"self-insert", false}, + Unescape(`\221`): Bind{"self-insert", false}, + Unescape(`\222`): Bind{"self-insert", false}, + Unescape(`\223`): Bind{"self-insert", false}, + Unescape(`\224`): Bind{"self-insert", false}, + Unescape(`\225`): Bind{"self-insert", false}, + Unescape(`\226`): Bind{"self-insert", false}, + Unescape(`\227`): Bind{"self-insert", false}, + Unescape(`\230`): Bind{"self-insert", false}, + Unescape(`\231`): Bind{"self-insert", false}, + Unescape(`\232`): Bind{"self-insert", false}, + Unescape(`\233`): Bind{"self-insert", false}, + Unescape(`\234`): Bind{"self-insert", false}, + Unescape(`\235`): Bind{"self-insert", false}, + Unescape(`\236`): Bind{"self-insert", false}, + Unescape(`\237`): Bind{"self-insert", false}, + Unescape(`\240`): Bind{"self-insert", false}, + Unescape(`\241`): Bind{"self-insert", false}, + Unescape(`\242`): Bind{"self-insert", false}, + Unescape(`\243`): Bind{"self-insert", false}, + Unescape(`\244`): Bind{"self-insert", false}, + Unescape(`\245`): Bind{"self-insert", false}, + Unescape(`\246`): Bind{"self-insert", false}, + Unescape(`\247`): Bind{"self-insert", false}, + Unescape(`\250`): Bind{"self-insert", false}, + Unescape(`\251`): Bind{"self-insert", false}, + Unescape(`\252`): Bind{"self-insert", false}, + Unescape(`\253`): Bind{"self-insert", false}, + Unescape(`\254`): Bind{"self-insert", false}, + Unescape(`\255`): Bind{"self-insert", false}, + Unescape(`\256`): Bind{"self-insert", false}, + Unescape(`\257`): Bind{"self-insert", false}, + Unescape(`\260`): Bind{"self-insert", false}, + Unescape(`\261`): Bind{"self-insert", false}, + Unescape(`\262`): Bind{"self-insert", false}, + Unescape(`\263`): Bind{"self-insert", false}, + Unescape(`\264`): Bind{"self-insert", false}, + Unescape(`\265`): Bind{"self-insert", false}, + Unescape(`\266`): Bind{"self-insert", false}, + Unescape(`\267`): Bind{"self-insert", false}, + Unescape(`\270`): Bind{"self-insert", false}, + Unescape(`\271`): Bind{"self-insert", false}, + Unescape(`\272`): Bind{"self-insert", false}, + Unescape(`\273`): Bind{"self-insert", false}, + Unescape(`\274`): Bind{"self-insert", false}, + Unescape(`\275`): Bind{"self-insert", false}, + Unescape(`\276`): Bind{"self-insert", false}, + Unescape(`\277`): Bind{"self-insert", false}, + Unescape(`\300`): Bind{"self-insert", false}, + Unescape(`\301`): Bind{"self-insert", false}, + Unescape(`\302`): Bind{"self-insert", false}, + Unescape(`\303`): Bind{"self-insert", false}, + Unescape(`\304`): Bind{"self-insert", false}, + Unescape(`\305`): Bind{"self-insert", false}, + Unescape(`\306`): Bind{"self-insert", false}, + Unescape(`\307`): Bind{"self-insert", false}, + Unescape(`\310`): Bind{"self-insert", false}, + Unescape(`\311`): Bind{"self-insert", false}, + Unescape(`\312`): Bind{"self-insert", false}, + Unescape(`\313`): Bind{"self-insert", false}, + Unescape(`\314`): Bind{"self-insert", false}, + Unescape(`\315`): Bind{"self-insert", false}, + Unescape(`\316`): Bind{"self-insert", false}, + Unescape(`\317`): Bind{"self-insert", false}, + Unescape(`\320`): Bind{"self-insert", false}, + Unescape(`\321`): Bind{"self-insert", false}, + Unescape(`\322`): Bind{"self-insert", false}, + Unescape(`\323`): Bind{"self-insert", false}, + Unescape(`\324`): Bind{"self-insert", false}, + Unescape(`\325`): Bind{"self-insert", false}, + Unescape(`\326`): Bind{"self-insert", false}, + Unescape(`\327`): Bind{"self-insert", false}, + Unescape(`\330`): Bind{"self-insert", false}, + Unescape(`\331`): Bind{"self-insert", false}, + Unescape(`\332`): Bind{"self-insert", false}, + Unescape(`\333`): Bind{"self-insert", false}, + Unescape(`\334`): Bind{"self-insert", false}, + Unescape(`\335`): Bind{"self-insert", false}, + Unescape(`\336`): Bind{"self-insert", false}, + Unescape(`\337`): Bind{"self-insert", false}, + Unescape(`\340`): Bind{"self-insert", false}, + Unescape(`\341`): Bind{"self-insert", false}, + Unescape(`\342`): Bind{"self-insert", false}, + Unescape(`\343`): Bind{"self-insert", false}, + Unescape(`\344`): Bind{"self-insert", false}, + Unescape(`\345`): Bind{"self-insert", false}, + Unescape(`\346`): Bind{"self-insert", false}, + Unescape(`\347`): Bind{"self-insert", false}, + Unescape(`\350`): Bind{"self-insert", false}, + Unescape(`\351`): Bind{"self-insert", false}, + Unescape(`\352`): Bind{"self-insert", false}, + Unescape(`\353`): Bind{"self-insert", false}, + Unescape(`\354`): Bind{"self-insert", false}, + Unescape(`\355`): Bind{"self-insert", false}, + Unescape(`\356`): Bind{"self-insert", false}, + Unescape(`\357`): Bind{"self-insert", false}, + Unescape(`\360`): Bind{"self-insert", false}, + Unescape(`\361`): Bind{"self-insert", false}, + Unescape(`\362`): Bind{"self-insert", false}, + Unescape(`\363`): Bind{"self-insert", false}, + Unescape(`\364`): Bind{"self-insert", false}, + Unescape(`\365`): Bind{"self-insert", false}, + Unescape(`\366`): Bind{"self-insert", false}, + Unescape(`\367`): Bind{"self-insert", false}, + Unescape(`\370`): Bind{"self-insert", false}, + Unescape(`\371`): Bind{"self-insert", false}, + Unescape(`\372`): Bind{"self-insert", false}, + Unescape(`\373`): Bind{"self-insert", false}, + Unescape(`\374`): Bind{"self-insert", false}, + Unescape(`\375`): Bind{"self-insert", false}, + Unescape(`\376`): Bind{"self-insert", false}, + Unescape(`\377`): Bind{"self-insert", false}, + Unescape(`\C-@`): Bind{"set-mark", false}, + Unescape(`\M- `): Bind{"set-mark", false}, // shell-backward-kill-word (not bound) Unescape(`\M-\C-b`): Bind{"shell-backward-word", false}, Unescape(`\M-\C-e`): Bind{"shell-expand-line", false}, @@ -957,6 +963,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-\C-d`): Bind{"shell-kill-word", false}, Unescape(`\M-\C-t`): Bind{"shell-transpose-words", false}, // skip-csi-sequence (not bound) + Unescape(`\C-xs`): Bind{"spell-correct-word", false}, Unescape(`\C-x(`): Bind{"start-kbd-macro", false}, // tab-insert (not bound) Unescape(`\M-&`): Bind{"tilde-expand", false}, @@ -987,6 +994,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-delete (not bound) // vi-delete-to (not bound) // vi-eWord (not bound) + // vi-edit-and-execute-command (not bound) // vi-editing-mode (not bound) // vi-end-bigword (not bound) // vi-end-word (not bound) @@ -1016,6 +1024,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-set-mark (not bound) // vi-subst (not bound) // vi-tilde-expand (not bound) + // vi-undo (not bound) // vi-unix-word-rubout (not bound) // vi-yank-arg (not bound) // vi-yank-pop (not bound) @@ -1114,6 +1123,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`OF`): Bind{"end-of-line", false}, Unescape(`[F`): Bind{"end-of-line", false}, // exchange-point-and-mark (not bound) + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`OC`): Bind{"forward-char", false}, @@ -1179,6 +1189,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\C-d`): Bind{"shell-kill-word", false}, Unescape(`\C-t`): Bind{"shell-transpose-words", false}, // skip-csi-sequence (not bound) + // spell-correct-word (not bound) // start-kbd-macro (not bound) // tab-insert (not bound) Unescape(`&`): Bind{"tilde-expand", false}, @@ -1208,6 +1219,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-delete (not bound) // vi-delete-to (not bound) // vi-eWord (not bound) + // vi-edit-and-execute-command (not bound) // vi-editing-mode (not bound) // vi-end-bigword (not bound) // vi-end-word (not bound) @@ -1237,6 +1249,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-set-mark (not bound) // vi-subst (not bound) // vi-tilde-expand (not bound) + // vi-undo (not bound) // vi-unix-word-rubout (not bound) // vi-yank-arg (not bound) // vi-yank-pop (not bound) @@ -1320,6 +1333,7 @@ func DefaultBinds() map[string]map[string]Bind { // end-of-history (not bound) // end-of-line (not bound) Unescape(`\C-x`): Bind{"exchange-point-and-mark", false}, + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) // forward-char (not bound) @@ -1376,6 +1390,7 @@ func DefaultBinds() map[string]map[string]Bind { // shell-kill-word (not bound) // shell-transpose-words (not bound) // skip-csi-sequence (not bound) + Unescape(`s`): Bind{"spell-correct-word", false}, Unescape(`(`): Bind{"start-kbd-macro", false}, // tab-insert (not bound) // tilde-expand (not bound) @@ -1405,6 +1420,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-delete (not bound) // vi-delete-to (not bound) // vi-eWord (not bound) + // vi-edit-and-execute-command (not bound) // vi-editing-mode (not bound) // vi-end-bigword (not bound) // vi-end-word (not bound) @@ -1434,6 +1450,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-set-mark (not bound) // vi-subst (not bound) // vi-tilde-expand (not bound) + // vi-undo (not bound) // vi-unix-word-rubout (not bound) // vi-yank-arg (not bound) // vi-yank-pop (not bound) @@ -1500,6 +1517,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-[F`): Bind{"end-of-line", false}, Unescape(`$`): Bind{"end-of-line", false}, // exchange-point-and-mark (not bound) + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`\M-OC`): Bind{"forward-char", false}, @@ -1569,6 +1587,7 @@ func DefaultBinds() map[string]map[string]Bind { // shell-kill-word (not bound) // shell-transpose-words (not bound) // skip-csi-sequence (not bound) + // spell-correct-word (not bound) // start-kbd-macro (not bound) // tab-insert (not bound) // tilde-expand (not bound) @@ -1613,6 +1632,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`D`): Bind{"vi-delete-to", false}, Unescape(`d`): Bind{"vi-delete-to", false}, // vi-eWord (not bound) + Unescape(`v`): Bind{"vi-edit-and-execute-command", false}, // vi-editing-mode (not bound) // vi-end-bigword (not bound) Unescape(`E`): Bind{"vi-end-word", false}, @@ -1649,6 +1669,8 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`S`): Bind{"vi-subst", false}, Unescape(`s`): Bind{"vi-subst", false}, Unescape(`&`): Bind{"vi-tilde-expand", false}, + Unescape(`\C-_`): Bind{"vi-undo", false}, + Unescape(`u`): Bind{"vi-undo", false}, Unescape(`\C-w`): Bind{"vi-unix-word-rubout", false}, Unescape(`_`): Bind{"vi-yank-arg", false}, // vi-yank-pop (not bound) @@ -1716,6 +1738,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-[F`): Bind{"end-of-line", false}, Unescape(`$`): Bind{"end-of-line", false}, // exchange-point-and-mark (not bound) + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`\M-OC`): Bind{"forward-char", false}, @@ -1785,6 +1808,7 @@ func DefaultBinds() map[string]map[string]Bind { // shell-kill-word (not bound) // shell-transpose-words (not bound) // skip-csi-sequence (not bound) + // spell-correct-word (not bound) // start-kbd-macro (not bound) // tab-insert (not bound) // tilde-expand (not bound) @@ -1829,6 +1853,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`D`): Bind{"vi-delete-to", false}, Unescape(`d`): Bind{"vi-delete-to", false}, // vi-eWord (not bound) + Unescape(`v`): Bind{"vi-edit-and-execute-command", false}, // vi-editing-mode (not bound) // vi-end-bigword (not bound) Unescape(`E`): Bind{"vi-end-word", false}, @@ -1865,6 +1890,8 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`S`): Bind{"vi-subst", false}, Unescape(`s`): Bind{"vi-subst", false}, Unescape(`&`): Bind{"vi-tilde-expand", false}, + Unescape(`\C-_`): Bind{"vi-undo", false}, + Unescape(`u`): Bind{"vi-undo", false}, Unescape(`\C-w`): Bind{"vi-unix-word-rubout", false}, Unescape(`_`): Bind{"vi-yank-arg", false}, // vi-yank-pop (not bound) @@ -1932,6 +1959,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-[F`): Bind{"end-of-line", false}, Unescape(`$`): Bind{"end-of-line", false}, // exchange-point-and-mark (not bound) + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`\M-OC`): Bind{"forward-char", false}, @@ -2001,6 +2029,7 @@ func DefaultBinds() map[string]map[string]Bind { // shell-kill-word (not bound) // shell-transpose-words (not bound) // skip-csi-sequence (not bound) + // spell-correct-word (not bound) // start-kbd-macro (not bound) // tab-insert (not bound) // tilde-expand (not bound) @@ -2045,6 +2074,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`D`): Bind{"vi-delete-to", false}, Unescape(`d`): Bind{"vi-delete-to", false}, // vi-eWord (not bound) + Unescape(`v`): Bind{"vi-edit-and-execute-command", false}, // vi-editing-mode (not bound) // vi-end-bigword (not bound) Unescape(`E`): Bind{"vi-end-word", false}, @@ -2081,6 +2111,8 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`S`): Bind{"vi-subst", false}, Unescape(`s`): Bind{"vi-subst", false}, Unescape(`&`): Bind{"vi-tilde-expand", false}, + Unescape(`\C-_`): Bind{"vi-undo", false}, + Unescape(`u`): Bind{"vi-undo", false}, Unescape(`\C-w`): Bind{"vi-unix-word-rubout", false}, Unescape(`_`): Bind{"vi-yank-arg", false}, // vi-yank-pop (not bound) @@ -2145,6 +2177,7 @@ func DefaultBinds() map[string]map[string]Bind { Unescape(`\M-OF`): Bind{"end-of-line", false}, Unescape(`\M-[F`): Bind{"end-of-line", false}, // exchange-point-and-mark (not bound) + // fetch-history (not bound) // forward-backward-delete-char (not bound) // forward-byte (not bound) Unescape(`\M-OC`): Bind{"forward-char", false}, @@ -2196,244 +2229,244 @@ func DefaultBinds() map[string]map[string]Bind { // redraw-current-line (not bound) Unescape(`\C-r`): Bind{"reverse-search-history", false}, // revert-line (not bound) - Unescape(`\C-a`): Bind{"self-insert", false}, - Unescape(`\C-b`): Bind{"self-insert", false}, - Unescape(`\C-c`): Bind{"self-insert", false}, - Unescape(`\C-e`): Bind{"self-insert", false}, - Unescape(`\C-f`): Bind{"self-insert", false}, - Unescape(`\C-g`): Bind{"self-insert", false}, - Unescape(`\C-k`): Bind{"self-insert", false}, - Unescape(`\C-l`): Bind{"self-insert", false}, - Unescape(`\C-o`): Bind{"self-insert", false}, - Unescape(`\C-q`): Bind{"self-insert", false}, - Unescape(`\C-x`): Bind{"self-insert", false}, - Unescape(`\C-z`): Bind{"self-insert", false}, - Unescape(`\C-\\`): Bind{"self-insert", false}, - Unescape(`\C-]`): Bind{"self-insert", false}, - Unescape(`\C-^`): Bind{"self-insert", false}, - Unescape(` `): Bind{"self-insert", false}, - Unescape(`!`): Bind{"self-insert", false}, - Unescape(`\"`): Bind{"self-insert", false}, - Unescape(`#`): Bind{"self-insert", false}, - Unescape(`$`): Bind{"self-insert", false}, - Unescape(`%`): Bind{"self-insert", false}, - Unescape(`&`): Bind{"self-insert", false}, - Unescape(`'`): Bind{"self-insert", false}, - Unescape(`(`): Bind{"self-insert", false}, - Unescape(`)`): Bind{"self-insert", false}, - Unescape(`*`): Bind{"self-insert", false}, - Unescape(`+`): Bind{"self-insert", false}, - Unescape(`,`): Bind{"self-insert", false}, - Unescape(`-`): Bind{"self-insert", false}, - Unescape(`.`): Bind{"self-insert", false}, - Unescape(`/`): Bind{"self-insert", false}, - Unescape(`0`): Bind{"self-insert", false}, - Unescape(`1`): Bind{"self-insert", false}, - Unescape(`2`): Bind{"self-insert", false}, - Unescape(`3`): Bind{"self-insert", false}, - Unescape(`4`): Bind{"self-insert", false}, - Unescape(`5`): Bind{"self-insert", false}, - Unescape(`6`): Bind{"self-insert", false}, - Unescape(`7`): Bind{"self-insert", false}, - Unescape(`8`): Bind{"self-insert", false}, - Unescape(`9`): Bind{"self-insert", false}, - Unescape(`:`): Bind{"self-insert", false}, - Unescape(`;`): Bind{"self-insert", false}, - Unescape(`<`): Bind{"self-insert", false}, - Unescape(`=`): Bind{"self-insert", false}, - Unescape(`>`): Bind{"self-insert", false}, - Unescape(`?`): Bind{"self-insert", false}, - Unescape(`@`): Bind{"self-insert", false}, - Unescape(`A`): Bind{"self-insert", false}, - Unescape(`B`): Bind{"self-insert", false}, - Unescape(`C`): Bind{"self-insert", false}, - Unescape(`D`): Bind{"self-insert", false}, - Unescape(`E`): Bind{"self-insert", false}, - Unescape(`F`): Bind{"self-insert", false}, - Unescape(`G`): Bind{"self-insert", false}, - Unescape(`H`): Bind{"self-insert", false}, - Unescape(`I`): Bind{"self-insert", false}, - Unescape(`J`): Bind{"self-insert", false}, - Unescape(`K`): Bind{"self-insert", false}, - Unescape(`L`): Bind{"self-insert", false}, - Unescape(`M`): Bind{"self-insert", false}, - Unescape(`N`): Bind{"self-insert", false}, - Unescape(`O`): Bind{"self-insert", false}, - Unescape(`P`): Bind{"self-insert", false}, - Unescape(`Q`): Bind{"self-insert", false}, - Unescape(`R`): Bind{"self-insert", false}, - Unescape(`S`): Bind{"self-insert", false}, - Unescape(`T`): Bind{"self-insert", false}, - Unescape(`U`): Bind{"self-insert", false}, - Unescape(`V`): Bind{"self-insert", false}, - Unescape(`W`): Bind{"self-insert", false}, - Unescape(`X`): Bind{"self-insert", false}, - Unescape(`Y`): Bind{"self-insert", false}, - Unescape(`Z`): Bind{"self-insert", false}, - Unescape(`[`): Bind{"self-insert", false}, - Unescape(`\\`): Bind{"self-insert", false}, - Unescape(`]`): Bind{"self-insert", false}, - Unescape(`^`): Bind{"self-insert", false}, - Unescape(`_`): Bind{"self-insert", false}, - Unescape("`"): Bind{"self-insert", false}, - Unescape(`a`): Bind{"self-insert", false}, - Unescape(`b`): Bind{"self-insert", false}, - Unescape(`c`): Bind{"self-insert", false}, - Unescape(`d`): Bind{"self-insert", false}, - Unescape(`e`): Bind{"self-insert", false}, - Unescape(`f`): Bind{"self-insert", false}, - Unescape(`g`): Bind{"self-insert", false}, - Unescape(`h`): Bind{"self-insert", false}, - Unescape(`i`): Bind{"self-insert", false}, - Unescape(`j`): Bind{"self-insert", false}, - Unescape(`k`): Bind{"self-insert", false}, - Unescape(`l`): Bind{"self-insert", false}, - Unescape(`m`): Bind{"self-insert", false}, - Unescape(`n`): Bind{"self-insert", false}, - Unescape(`o`): Bind{"self-insert", false}, - Unescape(`p`): Bind{"self-insert", false}, - Unescape(`q`): Bind{"self-insert", false}, - Unescape(`r`): Bind{"self-insert", false}, - Unescape(`s`): Bind{"self-insert", false}, - Unescape(`t`): Bind{"self-insert", false}, - Unescape(`u`): Bind{"self-insert", false}, - Unescape(`v`): Bind{"self-insert", false}, - Unescape(`w`): Bind{"self-insert", false}, - Unescape(`x`): Bind{"self-insert", false}, - Unescape(`y`): Bind{"self-insert", false}, - Unescape(`z`): Bind{"self-insert", false}, - Unescape(`{`): Bind{"self-insert", false}, - Unescape(`|`): Bind{"self-insert", false}, - Unescape(`}`): Bind{"self-insert", false}, - Unescape(`~`): Bind{"self-insert", false}, - Unescape(`\200`): Bind{"self-insert", false}, - Unescape(`\201`): Bind{"self-insert", false}, - Unescape(`\202`): Bind{"self-insert", false}, - Unescape(`\203`): Bind{"self-insert", false}, - Unescape(`\204`): Bind{"self-insert", false}, - Unescape(`\205`): Bind{"self-insert", false}, - Unescape(`\206`): Bind{"self-insert", false}, - Unescape(`\207`): Bind{"self-insert", false}, - Unescape(`\210`): Bind{"self-insert", false}, - Unescape(`\211`): Bind{"self-insert", false}, - Unescape(`\212`): Bind{"self-insert", false}, - Unescape(`\213`): Bind{"self-insert", false}, - Unescape(`\214`): Bind{"self-insert", false}, - Unescape(`\215`): Bind{"self-insert", false}, - Unescape(`\216`): Bind{"self-insert", false}, - Unescape(`\217`): Bind{"self-insert", false}, - Unescape(`\220`): Bind{"self-insert", false}, - Unescape(`\221`): Bind{"self-insert", false}, - Unescape(`\222`): Bind{"self-insert", false}, - Unescape(`\223`): Bind{"self-insert", false}, - Unescape(`\224`): Bind{"self-insert", false}, - Unescape(`\225`): Bind{"self-insert", false}, - Unescape(`\226`): Bind{"self-insert", false}, - Unescape(`\227`): Bind{"self-insert", false}, - Unescape(`\230`): Bind{"self-insert", false}, - Unescape(`\231`): Bind{"self-insert", false}, - Unescape(`\232`): Bind{"self-insert", false}, - Unescape(`\233`): Bind{"self-insert", false}, - Unescape(`\234`): Bind{"self-insert", false}, - Unescape(`\235`): Bind{"self-insert", false}, - Unescape(`\236`): Bind{"self-insert", false}, - Unescape(`\237`): Bind{"self-insert", false}, - Unescape(string([]byte{0xa0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xa9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xaa})): Bind{"self-insert", false}, - Unescape(string([]byte{0xab})): Bind{"self-insert", false}, - Unescape(string([]byte{0xac})): Bind{"self-insert", false}, - Unescape(string([]byte{0xad})): Bind{"self-insert", false}, - Unescape(string([]byte{0xae})): Bind{"self-insert", false}, - Unescape(string([]byte{0xaf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xb9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xba})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbe})): Bind{"self-insert", false}, - Unescape(string([]byte{0xbf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xc9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xca})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xce})): Bind{"self-insert", false}, - Unescape(string([]byte{0xcf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xd9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xda})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xde})): Bind{"self-insert", false}, - Unescape(string([]byte{0xdf})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xe9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xea})): Bind{"self-insert", false}, - Unescape(string([]byte{0xeb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xec})): Bind{"self-insert", false}, - Unescape(string([]byte{0xed})): Bind{"self-insert", false}, - Unescape(string([]byte{0xee})): Bind{"self-insert", false}, - Unescape(string([]byte{0xef})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf0})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf1})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf2})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf3})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf4})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf5})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf6})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf7})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf8})): Bind{"self-insert", false}, - Unescape(string([]byte{0xf9})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfa})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfb})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfc})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfd})): Bind{"self-insert", false}, - Unescape(string([]byte{0xfe})): Bind{"self-insert", false}, - Unescape(string([]byte{0xff})): Bind{"self-insert", false}, + Unescape(`\C-a`): Bind{"self-insert", false}, + Unescape(`\C-b`): Bind{"self-insert", false}, + Unescape(`\C-c`): Bind{"self-insert", false}, + Unescape(`\C-e`): Bind{"self-insert", false}, + Unescape(`\C-f`): Bind{"self-insert", false}, + Unescape(`\C-g`): Bind{"self-insert", false}, + Unescape(`\C-k`): Bind{"self-insert", false}, + Unescape(`\C-l`): Bind{"self-insert", false}, + Unescape(`\C-o`): Bind{"self-insert", false}, + Unescape(`\C-q`): Bind{"self-insert", false}, + Unescape(`\C-x`): Bind{"self-insert", false}, + Unescape(`\C-z`): Bind{"self-insert", false}, + Unescape(`\C-\\`): Bind{"self-insert", false}, + Unescape(`\C-]`): Bind{"self-insert", false}, + Unescape(`\C-^`): Bind{"self-insert", false}, + Unescape(` `): Bind{"self-insert", false}, + Unescape(`!`): Bind{"self-insert", false}, + Unescape(`\"`): Bind{"self-insert", false}, + Unescape(`#`): Bind{"self-insert", false}, + Unescape(`$`): Bind{"self-insert", false}, + Unescape(`%`): Bind{"self-insert", false}, + Unescape(`&`): Bind{"self-insert", false}, + Unescape(`'`): Bind{"self-insert", false}, + Unescape(`(`): Bind{"self-insert", false}, + Unescape(`)`): Bind{"self-insert", false}, + Unescape(`*`): Bind{"self-insert", false}, + Unescape(`+`): Bind{"self-insert", false}, + Unescape(`,`): Bind{"self-insert", false}, + Unescape(`-`): Bind{"self-insert", false}, + Unescape(`.`): Bind{"self-insert", false}, + Unescape(`/`): Bind{"self-insert", false}, + Unescape(`0`): Bind{"self-insert", false}, + Unescape(`1`): Bind{"self-insert", false}, + Unescape(`2`): Bind{"self-insert", false}, + Unescape(`3`): Bind{"self-insert", false}, + Unescape(`4`): Bind{"self-insert", false}, + Unescape(`5`): Bind{"self-insert", false}, + Unescape(`6`): Bind{"self-insert", false}, + Unescape(`7`): Bind{"self-insert", false}, + Unescape(`8`): Bind{"self-insert", false}, + Unescape(`9`): Bind{"self-insert", false}, + Unescape(`:`): Bind{"self-insert", false}, + Unescape(`;`): Bind{"self-insert", false}, + Unescape(`<`): Bind{"self-insert", false}, + Unescape(`=`): Bind{"self-insert", false}, + Unescape(`>`): Bind{"self-insert", false}, + Unescape(`?`): Bind{"self-insert", false}, + Unescape(`@`): Bind{"self-insert", false}, + Unescape(`A`): Bind{"self-insert", false}, + Unescape(`B`): Bind{"self-insert", false}, + Unescape(`C`): Bind{"self-insert", false}, + Unescape(`D`): Bind{"self-insert", false}, + Unescape(`E`): Bind{"self-insert", false}, + Unescape(`F`): Bind{"self-insert", false}, + Unescape(`G`): Bind{"self-insert", false}, + Unescape(`H`): Bind{"self-insert", false}, + Unescape(`I`): Bind{"self-insert", false}, + Unescape(`J`): Bind{"self-insert", false}, + Unescape(`K`): Bind{"self-insert", false}, + Unescape(`L`): Bind{"self-insert", false}, + Unescape(`M`): Bind{"self-insert", false}, + Unescape(`N`): Bind{"self-insert", false}, + Unescape(`O`): Bind{"self-insert", false}, + Unescape(`P`): Bind{"self-insert", false}, + Unescape(`Q`): Bind{"self-insert", false}, + Unescape(`R`): Bind{"self-insert", false}, + Unescape(`S`): Bind{"self-insert", false}, + Unescape(`T`): Bind{"self-insert", false}, + Unescape(`U`): Bind{"self-insert", false}, + Unescape(`V`): Bind{"self-insert", false}, + Unescape(`W`): Bind{"self-insert", false}, + Unescape(`X`): Bind{"self-insert", false}, + Unescape(`Y`): Bind{"self-insert", false}, + Unescape(`Z`): Bind{"self-insert", false}, + Unescape(`[`): Bind{"self-insert", false}, + Unescape(`\\`): Bind{"self-insert", false}, + Unescape(`]`): Bind{"self-insert", false}, + Unescape(`^`): Bind{"self-insert", false}, + Unescape(`_`): Bind{"self-insert", false}, + Unescape("`"): Bind{"self-insert", false}, + Unescape(`a`): Bind{"self-insert", false}, + Unescape(`b`): Bind{"self-insert", false}, + Unescape(`c`): Bind{"self-insert", false}, + Unescape(`d`): Bind{"self-insert", false}, + Unescape(`e`): Bind{"self-insert", false}, + Unescape(`f`): Bind{"self-insert", false}, + Unescape(`g`): Bind{"self-insert", false}, + Unescape(`h`): Bind{"self-insert", false}, + Unescape(`i`): Bind{"self-insert", false}, + Unescape(`j`): Bind{"self-insert", false}, + Unescape(`k`): Bind{"self-insert", false}, + Unescape(`l`): Bind{"self-insert", false}, + Unescape(`m`): Bind{"self-insert", false}, + Unescape(`n`): Bind{"self-insert", false}, + Unescape(`o`): Bind{"self-insert", false}, + Unescape(`p`): Bind{"self-insert", false}, + Unescape(`q`): Bind{"self-insert", false}, + Unescape(`r`): Bind{"self-insert", false}, + Unescape(`s`): Bind{"self-insert", false}, + Unescape(`t`): Bind{"self-insert", false}, + Unescape(`u`): Bind{"self-insert", false}, + Unescape(`v`): Bind{"self-insert", false}, + Unescape(`w`): Bind{"self-insert", false}, + Unescape(`x`): Bind{"self-insert", false}, + Unescape(`y`): Bind{"self-insert", false}, + Unescape(`z`): Bind{"self-insert", false}, + Unescape(`{`): Bind{"self-insert", false}, + Unescape(`|`): Bind{"self-insert", false}, + Unescape(`}`): Bind{"self-insert", false}, + Unescape(`~`): Bind{"self-insert", false}, + Unescape(`\200`): Bind{"self-insert", false}, + Unescape(`\201`): Bind{"self-insert", false}, + Unescape(`\202`): Bind{"self-insert", false}, + Unescape(`\203`): Bind{"self-insert", false}, + Unescape(`\204`): Bind{"self-insert", false}, + Unescape(`\205`): Bind{"self-insert", false}, + Unescape(`\206`): Bind{"self-insert", false}, + Unescape(`\207`): Bind{"self-insert", false}, + Unescape(`\210`): Bind{"self-insert", false}, + Unescape(`\211`): Bind{"self-insert", false}, + Unescape(`\212`): Bind{"self-insert", false}, + Unescape(`\213`): Bind{"self-insert", false}, + Unescape(`\214`): Bind{"self-insert", false}, + Unescape(`\215`): Bind{"self-insert", false}, + Unescape(`\216`): Bind{"self-insert", false}, + Unescape(`\217`): Bind{"self-insert", false}, + Unescape(`\220`): Bind{"self-insert", false}, + Unescape(`\221`): Bind{"self-insert", false}, + Unescape(`\222`): Bind{"self-insert", false}, + Unescape(`\223`): Bind{"self-insert", false}, + Unescape(`\224`): Bind{"self-insert", false}, + Unescape(`\225`): Bind{"self-insert", false}, + Unescape(`\226`): Bind{"self-insert", false}, + Unescape(`\227`): Bind{"self-insert", false}, + Unescape(`\230`): Bind{"self-insert", false}, + Unescape(`\231`): Bind{"self-insert", false}, + Unescape(`\232`): Bind{"self-insert", false}, + Unescape(`\233`): Bind{"self-insert", false}, + Unescape(`\234`): Bind{"self-insert", false}, + Unescape(`\235`): Bind{"self-insert", false}, + Unescape(`\236`): Bind{"self-insert", false}, + Unescape(`\237`): Bind{"self-insert", false}, + Unescape(`\240`): Bind{"self-insert", false}, + Unescape(`\241`): Bind{"self-insert", false}, + Unescape(`\242`): Bind{"self-insert", false}, + Unescape(`\243`): Bind{"self-insert", false}, + Unescape(`\244`): Bind{"self-insert", false}, + Unescape(`\245`): Bind{"self-insert", false}, + Unescape(`\246`): Bind{"self-insert", false}, + Unescape(`\247`): Bind{"self-insert", false}, + Unescape(`\250`): Bind{"self-insert", false}, + Unescape(`\251`): Bind{"self-insert", false}, + Unescape(`\252`): Bind{"self-insert", false}, + Unescape(`\253`): Bind{"self-insert", false}, + Unescape(`\254`): Bind{"self-insert", false}, + Unescape(`\255`): Bind{"self-insert", false}, + Unescape(`\256`): Bind{"self-insert", false}, + Unescape(`\257`): Bind{"self-insert", false}, + Unescape(`\260`): Bind{"self-insert", false}, + Unescape(`\261`): Bind{"self-insert", false}, + Unescape(`\262`): Bind{"self-insert", false}, + Unescape(`\263`): Bind{"self-insert", false}, + Unescape(`\264`): Bind{"self-insert", false}, + Unescape(`\265`): Bind{"self-insert", false}, + Unescape(`\266`): Bind{"self-insert", false}, + Unescape(`\267`): Bind{"self-insert", false}, + Unescape(`\270`): Bind{"self-insert", false}, + Unescape(`\271`): Bind{"self-insert", false}, + Unescape(`\272`): Bind{"self-insert", false}, + Unescape(`\273`): Bind{"self-insert", false}, + Unescape(`\274`): Bind{"self-insert", false}, + Unescape(`\275`): Bind{"self-insert", false}, + Unescape(`\276`): Bind{"self-insert", false}, + Unescape(`\277`): Bind{"self-insert", false}, + Unescape(`\300`): Bind{"self-insert", false}, + Unescape(`\301`): Bind{"self-insert", false}, + Unescape(`\302`): Bind{"self-insert", false}, + Unescape(`\303`): Bind{"self-insert", false}, + Unescape(`\304`): Bind{"self-insert", false}, + Unescape(`\305`): Bind{"self-insert", false}, + Unescape(`\306`): Bind{"self-insert", false}, + Unescape(`\307`): Bind{"self-insert", false}, + Unescape(`\310`): Bind{"self-insert", false}, + Unescape(`\311`): Bind{"self-insert", false}, + Unescape(`\312`): Bind{"self-insert", false}, + Unescape(`\313`): Bind{"self-insert", false}, + Unescape(`\314`): Bind{"self-insert", false}, + Unescape(`\315`): Bind{"self-insert", false}, + Unescape(`\316`): Bind{"self-insert", false}, + Unescape(`\317`): Bind{"self-insert", false}, + Unescape(`\320`): Bind{"self-insert", false}, + Unescape(`\321`): Bind{"self-insert", false}, + Unescape(`\322`): Bind{"self-insert", false}, + Unescape(`\323`): Bind{"self-insert", false}, + Unescape(`\324`): Bind{"self-insert", false}, + Unescape(`\325`): Bind{"self-insert", false}, + Unescape(`\326`): Bind{"self-insert", false}, + Unescape(`\327`): Bind{"self-insert", false}, + Unescape(`\330`): Bind{"self-insert", false}, + Unescape(`\331`): Bind{"self-insert", false}, + Unescape(`\332`): Bind{"self-insert", false}, + Unescape(`\333`): Bind{"self-insert", false}, + Unescape(`\334`): Bind{"self-insert", false}, + Unescape(`\335`): Bind{"self-insert", false}, + Unescape(`\336`): Bind{"self-insert", false}, + Unescape(`\337`): Bind{"self-insert", false}, + Unescape(`\340`): Bind{"self-insert", false}, + Unescape(`\341`): Bind{"self-insert", false}, + Unescape(`\342`): Bind{"self-insert", false}, + Unescape(`\343`): Bind{"self-insert", false}, + Unescape(`\344`): Bind{"self-insert", false}, + Unescape(`\345`): Bind{"self-insert", false}, + Unescape(`\346`): Bind{"self-insert", false}, + Unescape(`\347`): Bind{"self-insert", false}, + Unescape(`\350`): Bind{"self-insert", false}, + Unescape(`\351`): Bind{"self-insert", false}, + Unescape(`\352`): Bind{"self-insert", false}, + Unescape(`\353`): Bind{"self-insert", false}, + Unescape(`\354`): Bind{"self-insert", false}, + Unescape(`\355`): Bind{"self-insert", false}, + Unescape(`\356`): Bind{"self-insert", false}, + Unescape(`\357`): Bind{"self-insert", false}, + Unescape(`\360`): Bind{"self-insert", false}, + Unescape(`\361`): Bind{"self-insert", false}, + Unescape(`\362`): Bind{"self-insert", false}, + Unescape(`\363`): Bind{"self-insert", false}, + Unescape(`\364`): Bind{"self-insert", false}, + Unescape(`\365`): Bind{"self-insert", false}, + Unescape(`\366`): Bind{"self-insert", false}, + Unescape(`\367`): Bind{"self-insert", false}, + Unescape(`\370`): Bind{"self-insert", false}, + Unescape(`\371`): Bind{"self-insert", false}, + Unescape(`\372`): Bind{"self-insert", false}, + Unescape(`\373`): Bind{"self-insert", false}, + Unescape(`\374`): Bind{"self-insert", false}, + Unescape(`\375`): Bind{"self-insert", false}, + Unescape(`\376`): Bind{"self-insert", false}, + Unescape(`\377`): Bind{"self-insert", false}, // set-mark (not bound) // shell-backward-kill-word (not bound) // shell-backward-word (not bound) @@ -2442,6 +2475,7 @@ func DefaultBinds() map[string]map[string]Bind { // shell-kill-word (not bound) // shell-transpose-words (not bound) // skip-csi-sequence (not bound) + // spell-correct-word (not bound) // start-kbd-macro (not bound) // tab-insert (not bound) // tilde-expand (not bound) @@ -2471,6 +2505,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-delete (not bound) // vi-delete-to (not bound) // vi-eWord (not bound) + // vi-edit-and-execute-command (not bound) // vi-editing-mode (not bound) // vi-end-bigword (not bound) // vi-end-word (not bound) @@ -2486,7 +2521,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-insert-beg (not bound) // vi-insertion-mode (not bound) // vi-match (not bound) - Unescape(`\M-`): Bind{"vi-movement-mode", false}, + Unescape(`\M-\000`): Bind{"vi-movement-mode", false}, // vi-next-word (not bound) // vi-overstrike (not bound) // vi-overstrike-delete (not bound) @@ -2500,6 +2535,7 @@ func DefaultBinds() map[string]map[string]Bind { // vi-set-mark (not bound) // vi-subst (not bound) // vi-tilde-expand (not bound) + Unescape(`\C-_`): Bind{"vi-undo", false}, Unescape(`\C-w`): Bind{"vi-unix-word-rubout", false}, // vi-yank-arg (not bound) // vi-yank-pop (not bound) diff --git a/go.mod b/go.mod index db46c8e..7012d52 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/xo/inputrc -go 1.22 +go 1.23 diff --git a/inputrc_test.go b/inputrc_test.go index 249ff46..6a40934 100644 --- a/inputrc_test.go +++ b/inputrc_test.go @@ -5,11 +5,12 @@ import ( "embed" "fmt" "io/fs" + "maps" "os/user" "path" "path/filepath" "regexp" - "sort" + "slices" "testing" "unicode" ) @@ -34,10 +35,9 @@ func TestParse(t *testing.T) { }); err != nil { t.Fatalf("expected no error, got: %v", err) } - for _, test := range tests { - n := test - t.Run(filepath.Base(n), func(t *testing.T) { - test := readTest(t, n) + for _, s := range tests { + t.Run(filepath.Base(s), func(t *testing.T) { + test := readTest(t, s) if len(test) != 3 { t.Fatalf("len(test) != 3: %d", len(test)) } @@ -241,12 +241,7 @@ func buildResult(t *testing.T, exp []byte, cfg *Config, custom map[string][]stri } if len(vv) != 0 { fmt.Fprintln(buf, "vars:") - var keys []string - for key := range vv { - keys = append(keys, key) - } - sort.Strings(keys) - for _, k := range keys { + for _, k := range slices.Sorted(maps.Keys(vv)) { fmt.Fprintf(buf, " %s: %v\n", k, vv[k]) } } @@ -271,32 +266,17 @@ func buildResult(t *testing.T, exp []byte, cfg *Config, custom map[string][]stri } if count != 0 { fmt.Fprintln(buf, "binds:") - var keymaps []string - for key := range vb { - keymaps = append(keymaps, key) - } - sort.Strings(keymaps) - for _, k := range keymaps { + for _, k := range slices.Sorted(maps.Keys(vb)) { if len(vb[k]) != 0 { fmt.Fprintf(buf, " %s:\n", k) - var binds []string - for key := range vb[k] { - binds = append(binds, key) - } - sort.Strings(binds) - for _, j := range binds { + for _, j := range slices.Sorted(maps.Keys(vb[k])) { fmt.Fprintf(buf, " %s: %s\n", Escape(j), vb[k][j]) } } } } if len(custom) != 0 { - var types []string - for key := range custom { - types = append(types, key) - } - sort.Strings(types) - for _, typ := range types { + for _, typ := range slices.Sorted(maps.Keys(custom)) { if len(custom[typ]) != 0 { fmt.Fprintf(buf, "%s:\n", typ) for _, v := range custom[typ] { diff --git a/parse.go b/parse.go index ecae2b7..db19d2d 100644 --- a/parse.go +++ b/parse.go @@ -627,12 +627,12 @@ func unescapeRunes(r []rune, i, end int) string { return string(s) } -// octDigit returns true when r is 0-7 +// octDigit returns true when r is 0-7. func octDigit(c rune) bool { return '0' <= c && c <= '7' } -// hexDigit returns true when r is 0-9A-Fa-f +// hexDigit returns true when r is 0-9A-Fa-f. func hexDigit(c rune) bool { return '0' <= c && c <= '9' || 'A' <= c && c <= 'F' || 'a' <= c && c <= 'f' }