Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 v7 ucbopal-1.9 BSD 4.2; site ucbopal.CC.Berkeley.ARPA Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!floyd!cmcl2!seismo!hao!hplabs!sdcrdcf!sdcsvax!dcdwest!ittvax!decvax!ucbvax!ucbtopaz!ucbopal!tut From: tut@ucbopal.UUCP Newsgroups: net.unix Subject: editing history list in ksh Message-ID: <174@ucbopal.CC.Berkeley.ARPA> Date: Fri, 8-Jun-84 06:28:02 EDT Article-I.D.: ucbopal.174 Posted: Fri Jun 8 06:28:02 1984 Date-Received: Sun, 10-Jun-84 01:49:29 EDT Organization: Univ. of Calif., Berkeley CA USA Lines: 18 Does the Korn shell spawn a new vi or emacs process every time you want to edit some command in the history list? This strikes me as inefficient, particularly on architectures where forking is slow. Or does ksh have a subset of vi built in? This strikes me as an inefficient use of memory, and a long-term maintenance problem. I've always thought ^K (vertical tab) would be a good way to bring down a character at a time of the previous command. Tandem's OS has a feature like this. Most people think the ^^^ and !!:gs substitutions of csh are awkward-- who really knows what type of regular expressions are used there? Calling vi or emacs seems like overkill-- in most cases a good typist can rekey the line before vi (let alone emacs) starts up. But with the method proposed here, you could hold down ^K (using erase if necessary) until you want to insert something, type it, then press ^K again until you're done. The code to implement ^K would certainly be smaller than the code to handle csh history substitutions. No changes to the tty driver are required. Bill Tuthill