Live data from Hacker News

Understanding the Origins and the Evolution of Vi and Vim

pikuma.com

21–30 of 128 posts

Re: Understanding the Origins and the Evolution of Vi and Vim

#21
post #10

Earlier quoted context omitted.

while neovim is great and I intend to switch even, some time down the road, it caused a not-really-compatible fork and diverted the efforts, I wish them to be merged however hard it will be.

I am maybe just a year or so down from the switch from vim to neovim, but lua is a game changer. It's like, it's easy to configure stuff yourself now. Better plugins are written because the tools are better, or at least so I'm convinced. I will make a random comparison to latex vs typst (typesetting software). Both incorporate a programming environment, you can write a program right in your document. The difference i…

I've been playing with Rust a lot in the last few weeks, and I have been pretty happy with the Rust plugins available for NeoVim. It gives me most of the features I would want from a "real" IDE, but of course it's still Vim, so all my configs and other plugins still work.

I'm convinced that the reason it's so good is because Lua is simply a better language than VimScript, making it easier to make plugins.

Re: Understanding the Origins and the Evolution of Vi and Vim

#24
"while other editors, like Emacs, could cost hundreds of dollars."

Huh?

While I suppose that one "could" pay for Emacs, the vast majority of users never have.

Then again, I've only been using Emacs for 45 years, so I'm a newbie. (Yes, I started with the Teco implementation.)

Re: Understanding the Origins and the Evolution of Vi and Vim

#25
I've always considered TECO as the ur editor.

Of course, TECO is the explicit ancestor of emacs, as emacs was originally implemented as TECO macros. However, I can't find a paper trail giving similar credit to TECO for vi. That said, istuff is the same in TECO as it is in vi and TECO (1963) well predated vi (1976). RSTS (along with TECO) was used at Berkeley in 1974 before v6 Unix was installed by Ken Thompson on a sabbatical to his alma mater in 1975. Bill Joy started as a grad student at Berkeley that same year. emacs (1976) wasn't ported to Unix until the 80s.

There's no hard evidence and neither Ken Thompson nor Joy has ever mentioned TECO. So I'm probably wrong.

But I still consider TECO to be the ur editor.

Re: Understanding the Origins and the Evolution of Vi and Vim

#26
post #6

It's incredible how good of a design Vi is. Try this experiment: Busybox includes a tiny clone of vi with a reduced feature set. It's very stripped down when compared to Vim or even other vi clones, but as a pure text editor it's still more powerful than most modern day IDEs . I love my Jetbrains IDEs, but you can take my Vim plugin from my cold dead hands :)

I have used VI for many, many years and honestly use perhaps 25% at best of its abilities. But still I get comments about how fast and smoothly I can use it from other developers. Which I think speaks to how powerful even the basic editor can be. And yes, you can also take my VIM plugin (for Visual Studio) from my cold dead hands.

Same here. Tbh, you're comment just inspired to do a deep dive on VI. Wonder how much more productivity I can squeeze out if I spend an weekend focused on it.

Re: Understanding the Origins and the Evolution of Vi and Vim

#27
post #10

Earlier quoted context omitted.

I am maybe just a year or so down from the switch from vim to neovim, but lua is a game changer. It's like, it's easy to configure stuff yourself now. Better plugins are written because the tools are better, or at least so I'm convinced. I will make a random comparison to latex vs typst (typesetting software). Both incorporate a programming environment, you can write a program right in your document. The difference i…

> ... lua is a game changer... Am I the only one who absolutely hates Lua? Its syntax, the fact that variables are global by default unless you local them, `foo = nil` isn't variable assignment but instead variable unassignment!, etc. There are far better scripting languages than Lua.

well, you could warm up to it by using vimscript first

Re: Understanding the Origins and the Evolution of Vi and Vim

#29

I've always considered TECO as the ur editor. Of course, TECO is the explicit ancestor of emacs, as emacs was originally implemented as TECO macros. However, I can't find a paper trail giving similar credit to TECO for vi. That said, istuff is the same in TECO as it is in vi and TECO (1963) well predated vi (1976). RSTS (along with TECO) was used at Berkeley in 1974 before v6 Unix was installed by Ken Thompson on a s…

TECO was just a DEC line editor, not entirely unlike ed/ex. The idea of TECO managing a display terminal (i.e. the environment in which emacs was written as a bunch of macros) came much later, and really only existed at MIT.

Glass TTY terminals were very new in the early 70's. TECO was primarily written to the "Knight TV" system, which was a fancy MMIO framebuffer array hooked up to a PDP-10 that would multiplex a bunch of displays and keyboards. There really was no "terminal" device per se, it was all software. There were other such devices (the MIT one was actually inspired by a similar system at Stanford), but nothing compatible enough to target an editor.

So basically if you were at MIT you'd understand TECO as the pinnacle of editting . But no one else could use it.

By the time Joy started writing vi, the idea of a "terminal" being a serial-connected device speaking a byte protocol with a handful of reasonable operations (position cursor, clear screen, etc...) had solidified. So a portable editor that would work with multiple devices was feasible. Emacs wouldn't get that for a few years yet.

Post reply on HN