The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Larry McVoy <lm@mcvoy.com>
To: Leah Neukirchen <leah@vuxu.org>
Cc: KenUnix <ken.unix.guy@gmail.com>,
	Michael Kj??rling <e5655f30a07f@ewoof.net>,
	tuhs@tuhs.org
Subject: [TUHS] Re: Early Unix and Keyboard Skills
Date: Sun, 6 Aug 2023 08:01:23 -0700	[thread overview]
Message-ID: <20230806150123.GS19141@mcvoy.com> (raw)
In-Reply-To: <87il9s442v.fsf@vuxu.org>

On Sun, Aug 06, 2023 at 04:51:04PM +0200, Leah Neukirchen wrote:
> Larry McVoy <lm@mcvoy.com> 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.

  reply	other threads:[~2023-08-06 15:01 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-02  2:36 [TUHS] " steve jenkin
2022-11-02  6:53 ` [TUHS] " Michael Kjörling
2022-11-02  7:11   ` Rob Pike
2022-11-02 13:28     ` Clem Cole
2022-11-03 21:51     ` Stuff Received
2023-08-05 23:53     ` scj
2023-08-06  0:22       ` KenUnix
2023-08-06  0:43         ` Larry McVoy
2023-08-06 14:51           ` Leah Neukirchen
2023-08-06 15:01             ` Larry McVoy [this message]
2023-08-06 16:31             ` Clem Cole
2023-08-06 18:20               ` Jon Forrest
2023-08-07  4:56                 ` Adam Thornton
2023-08-06  8:37       ` Ronald Natalie
2022-11-02 12:13 ` Steffen Nurpmeso
2022-11-02 12:24   ` Steffen Nurpmeso
2022-11-02 20:35     ` Ron Natalie
2022-11-02 12:26   ` John P. Linderman
2022-11-02 13:07     ` Larry Stewart
2022-11-02 13:16       ` Larry McVoy
2022-11-02 13:27     ` Steffen Nurpmeso
2022-11-02 19:01 ` jason-tuhs
2022-11-02 19:20   ` John P. Linderman
2022-11-03  1:47     ` Ronald Natalie
2022-11-03  1:59       ` Dave Horsfall
2022-11-03  3:01       ` Clem Cole
2022-11-03 15:17       ` Paul Winalski
2022-11-03 16:18         ` Clem Cole
2022-11-03 17:02         ` John Cowan
2022-11-03 19:36           ` Rich Morin
2022-11-03 20:01             ` Charles H Sauer (he/him)
2022-11-02 12:16 Douglas McIlroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230806150123.GS19141@mcvoy.com \
    --to=lm@mcvoy.com \
    --cc=e5655f30a07f@ewoof.net \
    --cc=ken.unix.guy@gmail.com \
    --cc=leah@vuxu.org \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).