From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 11488 invoked from network); 6 Aug 2023 15:01:33 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 6 Aug 2023 15:01:33 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 6142043123; Mon, 7 Aug 2023 01:01:29 +1000 (AEST) Received: from mcvoy.com (mcvoy.com [192.169.23.250]) by minnie.tuhs.org (Postfix) with ESMTPS id B12F043122 for ; Mon, 7 Aug 2023 01:01:23 +1000 (AEST) Received: by mcvoy.com (Postfix, from userid 3546) id 3F05135E918; Sun, 6 Aug 2023 08:01:23 -0700 (PDT) Date: Sun, 6 Aug 2023 08:01:23 -0700 From: Larry McVoy To: Leah Neukirchen Message-ID: <20230806150123.GS19141@mcvoy.com> References: <709cc67b2a5670f2038914beafd605c4@yaccman.com> <20230806004343.GH19141@mcvoy.com> <87il9s442v.fsf@vuxu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87il9s442v.fsf@vuxu.org> User-Agent: Mutt/1.5.24 (2015-08-30) Message-ID-Hash: CYGMFRU274XA7FGZ4QMEF5R6N4K6236V X-Message-ID-Hash: CYGMFRU274XA7FGZ4QMEF5R6N4K6236V X-MailFrom: lm@mcvoy.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: KenUnix , Michael Kj??rling , tuhs@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Early Unix and Keyboard Skills List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Sun, Aug 06, 2023 at 04:51:04PM +0200, Leah Neukirchen wrote: > Larry McVoy writes: > > > Just in case there is confusion, vi was Bill Joy, Bostic did nvi (which was > > open source and bug for bug compat), Bram did vim, which I think was a > > clean room version of vi with a huge bunch of added goodness. > > Vim was based on Stevie, an Atari ST vi clone he ported to the Amiga 2000. I remember Stevie. In my early days at Sun, on 4MB machines, I was working on log files about the size of memory so the machine swapped like crazy just to take a look. I looked at Stevie but then settled on xvi. I changed the libc string functions to treat \n as well as \0 as a string terminator, changed how xvi read in a file to use mmap() instead. It wasn't really that hard but then I had a vi clone that could work on files twice as large with no swapping. The read only path was super easy to do, I made the write path work as well, that took a little tinkering because you couldn't modify the lines in place (think changing case on a line which xvi was happy to do in place but I couldn't because I'd be changing the file data which means :q! wouldn't do what you wanted). It's of little interest now but at the time, it was a huge win for me, I was working on performance and looking at log files was a big part of that. Most of us remember what it was like to work on a working set that was bigger than memory, it sucked.