[comp.sys.next] Arrow keys in csh?

giddings@dingo.cs.wisc.edu (Michael Giddings) (05/06/91)

Hi,
I've been  trying to set up my key bindings using the NeXT
csh (with editmode=emacs) so that I can use the arrow keys
for the previous history entry and the next history entry.
However, I can only get it to recognize a single escaped
key, whereas the arrows require a sequence such as:
ESC-O A (I tried "\eOA").  In this case it just maps to
ESC-O, ignoring the last character completely.  Does anyone
know of a way to map the arrow keys in csh on the NeXT?  Or
is this one of those minor technical impossibilities?

-- 
 --------------------------------------------------------------------------
|Michael Giddings (giddings@cs.wisc.edu) |   Computer Science Department   |
|"Isn't all intelligence artifical?"     |   UW Madison		           |
| "The sun is the same in a relative way but you're older . . ."           |
 --------------------------------------------------------------------------

severyn@athena.ecs.csus.edu (Niles Severyn) (05/07/91)

>Hi, I've been trying to set up my key bindings using the NeXT csh
>(with editmode=emacs) so that I can use the arrow keys for the
>previous history entry and the next history entry.  However, I can
>only get it to recognize a single escaped key, whereas the arrows
>require a sequence such as: ESC-O A (I tried "\eOA").  In this case it
>just maps to ESC-O, ignoring the last character completely.  Does
>anyoneknow of a way to map the arrow keys in csh on the NeXT?  Oris
>this one of those minor technici]

I did that. I had to set up a binding, and some keyboard macros (no the macros don't save to disk right).

Make a file called .bindings, it will load automatically.

in .cshrc insert the line
  set macrofiles = .macros

in .bindings put
  bind-to-key ExecuteNamedMacro '\e['

and for .macros you need to put in (^@ for Control-@, etc.)
A^@^@^@^A^P
B^@^@^@^A^N
C^@^@^@^A^F
D^@^@^@^A^B

if you create a macro file with ^X-^S, it will save it, but
it leaves out that first letter indicating the key.