Sal's

A Neovim kerfuffle, and looking at Vim

The kerfuffle, abbreviated:

  1. DHH appears to leaning pretty far to the right when it comes to social politics.
  2. There was a DHH quote on the Neovim website.
  3. Some people objected to it, and the lead Neovim maintainer didn’t take it well.
  4. I’m now seeing posts like these:

I don’t have the emotional calories to burn on this, though I did just enough digging to validate that DHH has said some problematic things and that the Neovim guy did seem to shit the bed in that GitHub thread (though I’ll give him the benefit of the doubt for now and assume he was just having a bad day).

None of this is yet enough to make me swear off Neovim, but it did make me realize that I’d never actually considered using ye olde Vim. So I decided to look into it just for funsies.

My first question was whether Vim is still actively developed. And yes, it is! Version 9.2 was released in February of this year and brought some cool new features.

My next question was whether there were any features in Neovim that I’d really miss. I had Antigravity look at my Neovim configs and render some opinions. The short answer: nah, not really.

So I had it update my .vimrc to reflect the basic options and keymaps I’d set up in my init.lua and assorted config files. The way some people look down on Vimscript, I figured the resulting code would be unpleasant, but I was surprised how concise and readable it was. Even after I added a few plugins, it stayed tight. Much more so than my sprawling array of Lua config files for Neovim.

This is probably just decision-justification thinking, but I also like that Vim is more staid and conservative in its development, especially since I tend to get frustrated with the fussiness of Neovim and Emacs maintenance. A slower and more deliberate pace is fine by me. Plus, I like the idea of leaning on the Vim fundamentals (and perhaps some venerable plugins like fzf.vim) as opposed to wrestling the complexity of LSPs and new-age plugins in Neovim. And Vim does have decent LSP implementations if I end up missing one of them too much.

I’m only one day into this experiment, but so far I’m happy to be Vimming. And so are these folks.


Edit: I’ll quote the top-voted comment from this Hacker News thread, Ask HN: Vim or Neovim?, because (1) the history bits are informative, and (2) the opinion bits resonate with me:

A bit of history for those who missed it.

Neovim was forked in revolt, because Bram, being a BDFL, was reluctant to “async” scripting, afair. Then in version 9 (or was it 8.x?) it still landed and neovim lost its main reason to exist. Talks about merging back were talked for a while. Now it’s functionally just a fork with different everything. I wouldn’t expect better software quality than vim, projects like vim are on another level.

Personally (opinion ahead), I find Vim a proven classic and neovim feels like yet another github project with a never-ending backlog for bells and whistles. Watching youtube videos on how it works with all these rainbow unicorn plugins makes me want to close it immediately. They made exactly that vim that Bram has foreseen and didn’t want it to evolve into, because it falls into the uncanny valley between an editor and an IDE. I believe vim mailing list should still have his message with concerns about that.

Another commenter said they use both: Vim for basics and ubiquity, and Neovim when they need more advanced features for certain languages. That’s … not a bad idea!

#Text-Editors #Vim

Backlinks