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.