Hacker News new | ask | show | jobs
by executesorder66 3337 days ago
The main reason NeoVim exists at all is because Bram Moolenaar refused to accept any patches for async support. People already did the work for him and he didn't want it.

So they decided to write their own text editor that supported async plugins. Bram got butthurt and didn't want to lose a large portion of his user base, so he added async support.

NeoVim's first public release (version 0.1) was released in December 2015. [0] And you can see that Vim development really picked up in early 2016. [1]

Coincidence?

Anyway, both text editors are awesome, and Vim is better off now that it has competition. The async features would never have come without the competition of a rival project.

[0] https://neovim.io/news/2015/december/ [1] https://github.com/vim/vim/graphs/contributors

5 comments

> The main reason NeoVim exists at all is because Bram Moolenaar refused to accept any patches for async support. People already did the work for him and he didn't want it.

That is an unfair description. When it was submitted to Bram it was incomplete and not completely functioning, and he did receive feedback on it.

> The main reason NeoVim exists at all is because Bram Moolenaar refused to accept any patches for async support. People already did the work for him and he didn't want it.

This is not true. If the work was not complete and not as how the lead maintainer/developer wants it. It is highly unlikely that it would be merged. I suggest you actually go and read the mailing list when this happened. I have seen it.

If I remember correctly, the guy kept changing his patch to meet Bram's conditions, but then Bram kept adding more requirements, to the point where it seemed like Bram was just making up excuses for not accepting the patch.

I could be wrong though. Please can you link the mailing list. (I can't find it) I'll read it and take back what I said, if that is the case.

Edit: spelling

This thread is basically over already, but here's a few links to what I think are relevant messages from the discussion (And from these links you can largely see the whole thing, though there's a few other threads spread out elsewhere):

https://groups.google.com/d/msg/vim_dev/-4pqDJfHCsM/rTnUuZTg...

https://groups.google.com/d/msg/vim_dev/-4pqDJfHCsM/skO2ee5k...

Personally the last post is the most important. He's basically saying that he knows there's clearly problems with his patch, but that he doesn't want to work on it until Bram takes the time to look at it and tell them what's wrong. He wants to push it in even though it's not 100% functional, to the point that he suggests merging it and calling it "experimental-timers".

The above isn't 100% related to Neovim, but below is the thread where Thiago Arruda essentially decides to create Neovim, and the other thread is brought up in this one which is why it is relevant:

https://groups.google.com/forum/#!searchin/vim_dev/Tarruda%7...

https://groups.google.com/d/msg/vim_dev/65jjGqS1_VQ/VBLymmdW...

I recommend looking at the dates, Thiago posted the concept patch 12/4/13, and Christian ZyX responded 5 days later, and then Thiago responds that he's done working on the patch because of a list of reasons: One being he has heard stories of long response times from the Vim developers, Two being that 5 days was too long of a response time and that Bram hasn't responded to his patch, Three being that it was too complicated and he wouldn't be able to make it work, and Four being that he didn't want to work on it if it wasn't guarantee to ever get into Vim.

Let me know if there's a problem with the links.

I found the fork / refactor of VIM by NeoVIM to be very hostile and even naming itself "New Vim" made me not want to support NeoVIM. I have been using VIM since it was on my Amiga in the mid 90s.

VIM has been a stellar project that is due a lot of respect. Even the funding for VIM is reflected back to giving to Uganda children charity.

> NeoVim exists at all is because Bram Moolenaar refused to accept any patches for async support. People already did the work for him and he didn't want it.

Untrue: "It's going to be an awful lot of work, with the result that not all systems will be supported, new bugs introduced and what's the gain for the end user exactly?

Total refactoring is not a solution. It's much better to improve what we have. Perhaps with some small refactorings specifically aimed at making Vim work better for users." Brian Moolenaar https://groups.google.com/forum/m/#!topic/vim_dev/x0BF9Y0Uby...

NeoVIM kind of said that VIM was just a mess and it would be impossible to grown past where it is. To me this was worst then Ubuntu having it's own Unity and Mir. This was just drama and seemed over the top disrespectful to Brian.

It's offensive for neovim to call itself neovim but it's alright for vim to be called vim? For the record, vim means Vi iMproved. Bill Joy invented Vi, not braam.

Neovim is very much to vim what vim was to Vi.

And Vi is what should be credited for the more important concepts found in those editors and their reproduction in IDE like the various Vi like plugins.

Braam losing a spiritual monopoly on such a great editor concept like Vi can only be a good thing.

For something you call worse than unity, it works pretty nicely, stable, fast, with far more readable code and is already on its way to become a great embeddable editor so that we can use the real Vi in IDE instead of pale imitations.

Your wrong in terms of how VIM came about and name.

VIM originally meant "Vi IMitation". It wasn't till 1993 that it became "Vi Improved."

Actually VIM is not a direct fork of VI. VIM comes from Stevie editor from Atari ST and Amiga days. (I actually started with Stevie).

Here is the tree from ed to VIM

ed > Bill Joy and company then made em > en > ex AKA vi

Joy left development of VI in June 1979 and joined corporate life working with BSD.

vi (Unix\BSD) > Stevie editor (Atari ST) > VIM (Amiga)

Then chaos hit. From 1981 onward clones and implementations were incompatible and progress kind of grind to a halt due to license. That is when Stevie editor hit and then when Bram Moolenaar made VIM. He reimplimented it for Amiga and added features one being plugins. Vi had no plugins and very little customization.

Here is why your analogy is wrong: LICENSING "While commercial vendors could work with Bill Joy's codebase (and continue to use it today), many people could not. Because Joy had begun with Ken Thompson's ed editor, ex and vi were derivative works and could not be distributed except to people who had an AT&T source license."

So it is not at all like this fork. I find that people have taken sides without even knowing the history of VIM and make assumptions.

I think the reason people are downvoting you is that after the (interesting) historical detour, you say "it is not at all like this fork" when in fact it is still exactly like this fork as far as the main point of the parent post is concerned.

Due to _________ we are making a clone of this other product, but one that fixes ________, and therefore we are also attempting to co-opt the name a cutesy way so that people understand this is supposed to be, while not exactly the same thing, an equivalent thing (but with __________ fixed).

> Due to ________ we are making a clone of this other product,

LICENSING (owned by AT&T the Oracle/Apple Grand Daddy of lawsuits in the 80s and 90s) and it was a port on an unsupported operating system, Amiga OS.

Also it was a clone of Stevie more so then Vi.

> but one that fixes ________

Vi TO RUN ON AMIGA OS (ADDED PLUGINS and CUSTOMIZED SHORTCUTS plus many other features not found in VI.)

Nothing in Neovim especially looking at VIM 8.0 is added but it is a refactoring with compatibility of plug ins with a cleaner code base.

I feel like people on NeoVIM side never really read the primary fights about the patch or understood why BDLF took a stand for a code more to his liking.

So I guess by the down vote you think I posted something factually wrong? Or you don't care to learn about it.
Yes, competition is very healthy and good for an ecosystem overall. Though the entire sector my business operated in eventually got shut down due to unscrupulous competitors, can't deny that competitors really lit a fire under my butt compared to the first year, when I was in the field alone.
Also, I like Neovim and have been using it on/off since a couple of years. But I haven't found a GUI equivalent of Macvim with Neovim.
Try Vimr (on GitHub). It is amazing.