What's the story with NeoVim exactly? I am trying it out on Linux because I got some recommendations that it's better than Vim, but I've run into some problems because for instance with setting up plugins and things, lots of times the documentation seems to be geared toward Vim, and sometimes I've gotten errors it's hard to figure out because of this.
It kind of gives me the perception there just aren't that many people using it, so it might be one of those tools which is technically better but doesn't have the critical mass of community to really be useful.
Am I off base there? I mean what are the tangible, user-facing advantages of NeoVim over Vim?
This is in some part due to the fact that neovim has been on Github longer, but it's still a a major indicator.
Neovim has many benefits over Vim, and has been applying pressure on Vim for years to improve its own development and codebase. Nvim has first class support for Lua outside of Vimscript, which has enabled a lot of people to write more powerful plugins. A lot of NVim's featureset has been copied into Vim over the years (one of my favorites is the hover window, which has allowed IDE like support for code references/comments/source). Supposedly, Nvim's codebase is significantly easier to maintain and contribute to, due to the nature of having a community of contributors that built it from ground up, as opposed to one primary developer working on Vim.
The parity has reduced over the years, but Nvim has been significantly ahead in pushing new features and active development over Vim resting on its laurels.
Why does it have a cult following? Because there are enough people to keep the project going and it makes them happy for whatever reason.
Why does it have far less usage than Vim proper? Because it's a young, niche project, and Vim has been around forever. Same reason CentOS and Ubuntu have a far bigger usage share than any of the "trendy" distros.
> Neovim definitely has significant market share, you can compare Github stars as one statistic to consider:
I would not consider GH stars to be at all indicative of market share in this case. Vim is installed by default on so many distributions that people just use it and expect it to be there. I have been using vim for at least 15 years and I didn't even know its source was hosted on GH until seeing your post. NeoVim, on the other hand, is something that you have to know about and seek out, and in doing so it's pretty likely that you end up on its GH project page, making it more likely you'd star it.
Yeah, it's not an accurate indicator since various factors play into how many stars Neovim has, e.g. Vim is prebuilt into most OS distros, so lack of a need to download it, Neovim is more contributor friendly, etc. I highlighted this not to show the insignificance of Vim, but rather the rise of Neovim.
NeoVim certainly got a lot of press for a while. I think it has faded quite a bit in the past few years since Bram stole their thunder somewhat by integrating their biggest selling points.
I am fairly certain I have NeoVim starred on Github. I haven't used the editor except for an hour to try it out when it was new. I use Vim all day every day for work.
I would expect a similar situation for many of those stars.
> I mean what are the tangible, user-facing advantages of NeoVim over Vim?
Hard to answer really. I mean, what are the tangible, user-facing advantages of having llvm/clang over only having gcc? of libressl over openssl? Chances are you aren't targeting libclang in your code so does it really matter if it exists, from a user-facing perspective?
I recall neovim started like many projects, because some folks wanted to add stuff, clean up, change directions slightly, etc, and the current project at the time basically didn't want to do it. Consider that at some point in the past a person probably asked the same question you are asking, except about vim vs vi.
Not 100% sure but neovim added several feature first: a better cross-platform input method (libuv); asynchronous plug-ins; a terminal emulator; probably others - and some of these features have bled into vim. Essentially, pressure and feature competition from neovim has improved vim. Neovim has done a bunch of other cleanup; as far as user-facing advantages it would mostly come down to better plug-in architecture and possibly better plug-ins.
NeoVim was started to add in a couple features that had gotten pushback from Bram when the original forker(?) (long since moved on from the project) got frustrated with getting shot down.
Basically the relationship at this point between the two projects appears to be that the NeoVim team implements some features. The ones that gain significant traction, Bram then implements in his own style.
At this point they are basically at feature parity with each other I think. The main difference between the two in my experience is that NeoVim is much more likely to integrate existing libraries, while Vim is more of a self-contained project.
One of the side effects of that is the NeoVim people like to brag how much code they've deleted from Vim. The thing they don't mention is all the deps they've added in the process.
> One of the side effects of that is the NeoVim people like to brag how much code they've deleted from Vim. The thing they don't mention is all the deps they've added in the process.
You present this in a negative light, and perhaps it's misleading of them to not acknowledge the added dependencies, but this is exactly what I want maintainers of my workhorse software to do. I would much rather they delete their own code and replace it with well-tested, robust dependencies rather than maintaining their wheel reinventions.
(Of course, whether or not the chosen dependencies are well-tested and robust is the trick.)
What made me adopt it a while back was the work they put into the plugin system. I honestly don’t remember the technical details (better or real async maybe?)
But the end result for me was being able to use things like deoplete without the editor pausing on me or missing keystrokes.
My guess is these days bringing a newer vim with you vs relying on your distro’s probably has the same benefits. I only use plugins locally and haven’t bothered switching back.
Thank you. I am sitting my baby on my arm was to lazy to type that. When both of this features stabilize I think they will sufficiently set NVim appart from Vim and make it its own personality.
Besides Lua as an alternative scripting language there currently is no compeling reason to switch over.
It kind of gives me the perception there just aren't that many people using it, so it might be one of those tools which is technically better but doesn't have the critical mass of community to really be useful.
Am I off base there? I mean what are the tangible, user-facing advantages of NeoVim over Vim?