# NeoVim?



## jbo (Aug 21, 2022)

I'm a vim(1) guy. I have nothing to say about alternatives such as emacs(1), nano(1) or ee(1) simply because I've never used them. I started with vim and well over a decade later I'm still using vim.

Over the past few years, I've stumbled upon editors/neovim several times.
I'd like to inquire some personal opinions from you guys: Does or did anybody use neovim? If so, what is or was your experience with it? Is there any seasoned vim user that switched over to neovim (and stayed there)?

Looking at neovim's website I do get a bit of that "let's re-invent the wheel"-hype-train sensation that we see in a lot of places these days.
Are there any "serious" advantages of neovim over vim which would justify re-writing the same thing and for users to switch over to it? Or is this most likely just another temporary hype that will eventually go over and we'll be left with a "dead project" that was supposed to supersede something that existed for decades and then just dies slowly?

I understand that these questions are "hard to answer" and heavily opinion based. Just drop your five cents.

This thread will probably survive only survive slightly more than half a dozen posts before it turns into off-topic so I immediately posted this in the Off-Topic section.


----------



## zirias@ (Aug 21, 2022)

jbodenmann said:


> Just drop your five cents.


Ok, dropping .... IMHO, don't bother looking at forks as long as you're completely satisfied with the original software. Different thing if you have time to spend and feel like experimenting, maybe there's something to discover you didn't even know you were missing ....

I personally used a heavily patched mutt for years. I don't remember all the patches, but I needed/wanted them (e.g. sane IMAP support, a useful sidebar, ....). Then I finally switched over to neomutt which already had most of the features I wanted. So, that was a clear case of not being fully satisfied with the original software.

As for vim, I don't miss anything – so far


----------



## Menelkir (Aug 21, 2022)

The only reason for using neovim is the lua support I guess? Other than that, the code is refactored to be more legible and the API is better organised and documented, but if you don't fiddle into the source code, there's no reason to use it either.


----------



## mer (Aug 21, 2022)

What's this "vim" you speak of?  The man page says "Vi iMproved" and my first thoughts are "What needed to be improved?"
Joking aside, I am always leery of something that is new and improved.  It may be for a few use cases, but in general isn't any different than the original.

neovim I feel the same way.  As Menelkir says some of the things around api and plugins are improved, but one only cares if they are writing plugins.  The rest of us just do "pkg install neovim-plugin-to-colorize-my-language-of-choice".

So to me, vim doesn't give me anything vi doesn't so by implication neovim gives me nothing new in at least my use cases.


----------



## Holger (Aug 21, 2022)

I am a happy user of NeoVim and use it for coding. The Treesitter plugin https://github.com/nvim-treesitter/nvim-treesitter provides syntax-based highlighting and that was so convincing that I switched from Vim to NeoVim.

In general, plugins for NeoVim seem to be more “advanced”; maybe because they can be coded in Lua-script.

The dependency on big software like the Lua JIT, etc., is a downside of that, however.


----------



## hardworkingnewbie (Aug 21, 2022)

This so reminds me about Elvis, when I've been using back then Slackware. When it crashed, it sent me an email from Graceland with the location of the dead file.

No, joking aside Neovim is for me mostly about a different way on how to steer a software project. Vim seems to be way more BDFL like driven, so by Brian Molenaar, while Neovim has a more open approach.

In 2014, when Neovim was 8 months year old, Brian Molenaar was asked about his opinion about it. This is what he told back then - remember, 8 years ago, so Neovim definitely will not become a new Elvis, it is here to stay:

_No idea. Some of the basic choices seem odd and irrelevant for the main goals. Such as dropping support for some systems and not being backwards compatible. The goals could just as well been implemented without that.

A lot of it feels like someone who doesn’t like the old code and wants to do it “right.” I can agree that the old code is ugly. But it will take an awful lot of effort to make a new implementation. It’s a lot like what happened to Elvis: A rewrite was going to make it much better, but it took so long, during which Vim added more features, that eventually there are not so many Elvis users. And the rewritten Elvis may have nice code, but users don’t notice that.

I do hope that the nice things that NeoVim comes up with can be added back to Vim. I mean, who doesn’t want better plugin support, a better GUI and embedding? The big question is how to do that, and who is going to implement it properly._

NeoVim has 839 contributors on Github, Vim has 135. NeoVim has much more substantial contributions by others compared to Vim, which mostly seems to be - again - BDFL.

NeoVim does some things differently, including some defaults, other API, and well has much more traction going on it seems. Nowadays Neovim seems to have the lead in some areas, and Vim took over the features later - like the hover window.

Vim also has its own open source license compatible to GPLv2 due to its age,  NeoVim is Apache License v2.

So in short it's for me the same thing why OpenBSD was forked from NetBSD - different opinions and headstrong developers about where the development should go couldn't cooperate, so a fork was created where NeoVim seems well like an evolution. And now both projects are benefitting (hopefully) from each other. Maybe in the future at some time both projects are being merged, with Neovim taking the lead, just like in the past there was GCC and EGCS; EGCS took the technical lead for a while, and was later merged with GCC completely.

For me both are the same, because basically I just use them to edit config files. IMHO the fun starts when you've got to use the more advanced features, and have to move over your configuration from Vim to Neovim.

Rob Muhlestein wrote an oped about Neovim, which he basically considers as non-UNIXy abomination; of course you can agree or disagree with his points. I guess it's a generational gap of developers or something showing here.

_NeoVim, which uses the nvim command, is unfortunately a popular replacement to Vim. It provides no additional value for most users and can actually harm your Vi/m learning progress.

NeoVim’s most significant failure is not technical at all. The NeoVim design team has demonstrated a complete lackof understanding of Vi’s core value proposition as well as a total disregard for the fundamental Unix philosophy. The bloated, buggy result is nvim._

And here's a calm piece of text why an experienced Vim user moved  to Neovim, basically features he wanted which Vim didn't had at that time, and well less buzzwordy than the Neovim homepage in my opinion. Probably the type of user you were looking for to get some opinion about why he changed, jbodenmann. So yes, some die hard users are indeed finding additional value in Neovim which Vim  at least didn't offer to them the time they've switched over. Others just find it bloated and non UNIXy.









						Moving to modern Neovim
					

I spent an uncharacteristic weekend playing with the latest Neovim features, and found it unexpectedly rewarding, Author: Abhijit Menon-Sen



					toroid.org


----------



## MattP (Aug 21, 2022)

Reading with interest. I'm a new user and drawn towards Neovim on the idea that there may be more I could do with it if I wanted to (I don't know what though).

I have no interest in trying to make it IDE-like, I just want a fast clean editor.


----------



## Alain De Vos (Aug 22, 2022)

neovim has some nice plugins for eg completion , language server ,etc ...









						GitHub - neoclide/coc.nvim: Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
					

Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers. - GitHub - neoclide/coc.nvim: Nodejs extension host for vim & neovim, load extensions like VSC...




					github.com
				












						GitHub - dense-analysis/ale: Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support
					

Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support - GitHub - dense-analysis/ale: Check syntax in Vim asynchronously and fix files, with Language Server P...




					github.com


----------



## hardworkingnewbie (Aug 23, 2022)

@Aldin De Vos: Both these plugins do work with Vim as well, as it's saying in the descriptions.


----------



## cartesius23 (Aug 23, 2022)

For a C/C++ dev, using neovim with e.g. coc-clangd plugin and such is simply the best. Love neovim. Using it on FreeBSD, Linux & MacOS.


----------



## hitest (Sep 20, 2022)

I like and use Vi and on occasion nano.  Have not used emacs.  I'll check out neovim.  Thanks for the mention.


----------



## Alain De Vos (Sep 20, 2022)

Are there interesting neovim-only plugins ?


----------



## Holger (Sep 21, 2022)

Alain De Vos said:


> Are there interesting neovim-only plugins ?


For me, it's the treesitter plugin for semantic syntax highlighting. Not sure traditional Vim got this.


----------

