Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Vi insert-mode cursor key bindings.



>That's only bad if striking another key while zsh is waiting causes the
>wrong thing to happen.
>
>For example, if ESC is a prefix but ESC k is not bound to anything, and
>I rapidly type ESC k, does zsh drop into vi-cmd-mode and move up a line?
>Or does it feep because it has interpreted ESC k as a sequence?

It does the right thing in that case.  But <ESC>[A is a likely
mistyping of some reasonable editing actions.  In any case, I find the
delay annoying: if I pressed <ESC>, it should take the action for <ESC>
immediately.  With no escape sequences around, this is acheivable.

>> One better: I don't use cursor keys at all.  Their behaviour is too
>> inconsistent to rely on them.  (The terminals that I regularly use
>> don't generate ANSI escape sequences, so they wouldn't work in ZLE.)
>
>But they do generate some kind of escape sequence, right?

No.  Actually, I usually use a couple of Lear Siegler ADM 3E
terminals.  These generate ^H for left, ^J for down, ^K for up[1] and
^L for right.  Some programs can handle this (vi for one), but many get
confused.

>If we're going to add default bindings for the cursor keys, we should
>do it right -- we should read the term{cap,info} database and add the
>binding for what it says the arrow keys generate, not just hardwire to
>the vt100/ANSI sequences.  (Most vi that I've used actually map both
>the ANSI and terminfo arrow keys, though not in insert mode.)

Yes, we should.  But we should watch out for weird terminals like mine,
and be careful not to squash anything otherwise bound.  Personally I
would miss using right arrow to clear the screen, if it were to be
rebound.

-zefram

[1] We keep getting inexperienced first year undergrads trying to edit
their Pascal assignments in Jove on these terminals, and deleting half
their program while trying to navigate.  I love these terminals.  (-:



Messages sorted by: Reverse Date, Date, Thread, Author