Live data from Hacker News

Understanding the Origins and the Evolution of Vi and Vim

pikuma.com

71–80 of 128 posts

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

#71
In a, thankfully past, role working remotely for an antipodal organisation with badly configured networking; often, the lag between typing several characters on the keyboard and those characters appearing on my screen could be measured in seconds! Vi key bindings were a godsend as I could send commands (eg global search & edit etc) and be confident they were being applied before recieving a (delayed) visual update. I feel my experience seems to echo (albeit slightly) that of Bill Joy's vi development on a 300 baud modem!

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

#72
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.

It's true that Lua is very rough in many places.

But it's still ten times better than Vimscript.

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

#73
vi and the UNIX shell are just beautiful tools.

It always amaze me that I was only introduced to them in my adult life way after Windows, but still for me they are the definition of what computer is.

So this is not really about (personal) nostalgia.

Also in the age of 8K screens, VR, AI and AI ready computers, a lot of people still use and love vi.

Call me crazy but my guess is there might still be vi users in 50 years.

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

#74
post #2

I was surprised to see this on pikuma… I guess “ Also... Emacs sucks! ” is ok to end the blog entry. To me it is just hard to use 2-3 figures and it seemed hard for inventory as well. That sucks.

Author here! I remember struggling with the decision of adding that last sentence or not. But at the end I was sure most readers would get that it is obviously a joke. Maybe a bad one but still a joke.

I loved the ending! Glad you kept it in. I’m sure the emacs folks will appreciate the humour in it. And they’re welcome to write their own article on the history of emacs and end it similarly. They’ve probably got a binding for it.

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

#75
post #52
post #22

Aside from neovim, no mention of nvi, Keith Bostic's fork which was BSD mainline, and the Japanese hacked on to add utf handling. The main divergence of note is tab expansion.

And one probably wouldn’t notice , but the buffer is backed by a “recno”[0] Berkeley DB instance[1]. [0] https://edoras.sdsu.edu/doc/BerkeleyDB/ref/am_conf/logrec.ht... [1] https://en.wikipedia.org/wiki/Berkeley_DB

Isn't that how most editors manage infinite undo/redo? I wondered if there is some magic "prune the backend and its now linear" model.

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

#76

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.

If you follow any discussions around development, it seems the chance of this happening is essentially zero. I feel that they will continue to diverge into completely different editors.

What do you predict the pros/cons of Vim vs Neovim will be?

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

#78
post #47

Earlier quoted context omitted.

> ... 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.

You are absolutely not. In point of fact pretty much everyone hates Lua except the handful of folks integrating it. It has a huge lead in terms of embeddability and performance vs. competitors like Python. So you see it show up in little C applications[1] again and again and again because everything else is just too much of a hassle. But everyone agrees the programming experience in the language is awful. [1] My son…

> But everyone agrees the programming experience in the language is awful.

Simply not true. The power to weight ratio of Lua is amazing. You can keep the entire language in your head easily, and even without LuaJIT it’s crazy fast. It’s great for creating DSLs. As a configuration language it is excellent- in fact that’s how Lua originally came to exist.

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

#79
post #67
post #61

Earlier quoted context omitted.

For people who love vi/vim, it's not really about being "a significantly faster programmer." It's about reducing friction between the changes you want to happen and them happening on screen. Editors with a lot of friction (that make you do lots of intermediate or repetitive steps to accomplish a task) can be really annoying to use. For some people, minor annoyances can be very distracting to the point where they take…

I don't think it's even so much about keystroke count as it is the "commands" are more like a language that you can keep getting better in. For example, from above: > d), d{ That's not two different commands, it's one action (delete) and two different motions (forwards one sentence, backwards one paragraph). Motions work on their own for moving the cursor, but can be combined with different actions and repetitions to…

Yes, I'd say the composability of commands is vi's key feature. I can't remember any but the most common shortcuts in other editors. In vi I get so much more bang for the buck since I have easy access to all the commands I remember multiplied by the motions I remember.

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

#80
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 :)

> It's incredible how good of a design Vi is. It's interesting how this design was forced into existence by the extremely limited hardware at the time: TFA>> It was really hard to do because you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. That's why we got commands lik…

>> It's incredible how good of a design Vi is. >It's interesting how this design was forced into existence by the extremely limited hardware at the time

Can we learn that if you design something for a constrained environment, it will shine when the limitation is lifted?

Post reply on HN