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

Reply via email to