On Thu, Nov 11, 2010 at 07:22:09PM +0100, Paolo Aglialoro wrote: > Actually I've been carefully through ksh man, and if I try to use prefix-2 > more than once it just applies to the last entry, e.g.: > > bind '^[[3'=prefix-2 > bind '^[[3~'=delete-char-forward > > and here Del works OK, but if I add: > > bind '^[[7'=prefix-2 > bind '^[[7~'=beginning-of-line > > then Home works but Del does not anymore, and this does not even consider > End; as well, trying with: > > bind '^[['=prefix-2 > bind '^[[3~'=delete-char-forward > bind '^[[7~'=beginning-of-line > bind '^[[8~'=end-of-line > > yields a flawlessly working Del, plus a working Home and End which, each > time pressed, add a nasty tilde at cursor.
If you want to use a 4 characters keyboard key as a shell shortcut, you will need to use a different shell than OpenBSD's ksh. Like GNU's bash. As you found out, ksh can only use key sequence in the form of prefix + (1 letter). You get no error defining prefix + (2 letters) but the 2nd character is ignored. Also, as you tested, you can define as many prefix-2 sequence as you want, they all end up as synomym of each other though. Like up arrow is defined by default as: ^XA = up-history but the actual key sequence is ^[[A for the keyboard up arrow. It works because both ^X and ^[[ are defined as prefix-2. Basicaly in your first exemple, you defined ( prefix-2 + ~ ). Houray for tilde, but that doesn't allow you to differentiate between all the key codes ending with ~. > All this testing was made in CLI only