Welcome to ATTY Atty is an alternative to tty(4). To correct a mistake using tty(4), you must erase all the characters between the mistake and the end of the line. In contrast, atty provides a set of EMACS-like editing commands which allow you to move around the input line and make corrections where ever you want. Atty allows you to bring lines that you previously typed into the input buffer so that you can resend them, possible after modifying them. Atty also handles line wrapping and does a better job than tty of keeping input and output from getting intermingled. Not to mention its abbreviation feature... Try it, you'll like it! Atty runs entirely in user mode and requires no special privileges to run or install. It's a hack, but it works. I developed the code under Ultrix, a 4.2 BSD derivative. It has also been tested on a couple of other 4.2 BSD derivatives. The code does not run under System V, and would not be easy to port. INSTALLATION To compile atty, just type "make". Three programs should be created: atty - the atty program kbind - program to generate key binding files fmatch - file name matching program These should be installed in a bin directory somewhere. Three additional files are generated: atty.bindc - default binding file dftbind.c - name of default binding file atty.1 - atty manual page Atty.bindc is the default key binding file, which is created from the file atty.bind. The latter two files include the absolution path name of atty.bindc. The makefile will create these files correctly if you just leave atty.bindc in the source directory. If you install atty.bindc somewhere else, you will have to edit these files. The makefile used cc. The Berkeley header files are incompatible with ANSI C, so if you compile with gcc or some other ANSI compiler, you will get incorrect code. You can use an ANSI compatable version of the header files, or you can use the -traditional flag of gcc. Having compiled atty, you are now ready to run it. However, you may want to change some the bindings first. The end of the "Getting Started" section of the atty manual page provides a tutorial introduction to doing this; if you really want to know what's going on read the kbind manual page. Some users will probably want set up their bindings to act like vi rather than emacs. The file vi.bind illustrates how to set up separate insert and command modes, like vi has. However, I have not implemented the vi commands, and you can't have a real vi emulation without them. Copyright (c) 1989 by Kenneth Almquist