From: utzoo!decvax!pur-ee!uiucdcs!grunwald
Newsgroups: net.works
Title: Re: Re: WORKS Digest V2 #68 - (nf)
Article-I.D.: uiucdcs.309
Posted: Tue Aug  3 13:28:12 1982
Received: Wed Aug  4 05:08:54 1982

#R:unc:-378100:uiucdcs:13900002:000:1854
uiucdcs!grunwald    Aug  3 13:05:00 1982

My biggest gripe with typing something in is that when one makes a mistake,
it is very difficult to re-enter the line and fix the mistake. The Berkley
C shell has some nice features, but they are not as good as some other systems
I have used. One of my favorite systems for this was PLATO. They had a nice
general mechanism worked out which allowed you to "edit" an input string any
place in the system.

The way it worked was as follows: the PLATO keyset is custom made, and they
have a key labeled EDIT. Let's assume you enter some string and need to
change it. The first time you press EDIT, the entire string is erased. Then,
everytime you press EDIT, another "word" comes back, where a word is
defined by their parsing rules (a little bit better than cntrl-w on unix).
Additionally, there was another key you could press to return your "edit-
buffer" one letter at a time. This could be mixed with the EDIT key to allow
you to go to a word and then insert/delete characters within it. Additionally,
pressing EDIT when holding the shift key returns the rest of the text stored
in the "edit buffer".

This was very useful, mainly due to the fact that it is available everywhere
in the system. Using this feature allows one to almost do away with the "o"
directive of XED. There was also another special purpose key called "COPY"
which allowed you to copy text out of a "copy buffer", which was set up by
the program.

Using these features in the shell would most likely work like this: You could
enter a command, using the EDIT keys to fix and changes. Then, if you wanted
to run the same command with slightly different tags, the shell could move the
old command into you "copy buffer". Then, on the next line, you would use
the COPY key to get back the words one at a time (or all at once by shift-COPY)
changing the parts you want as you go along.