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