What is it that prevents the rest of the vim community from adopting neovim? From what I can observe, a great deal already have. But for the folks holding out, what is it that outweighs all that neovim has to offer?
> what is it that outweighs all that neovim has to offer?
You should ask, and answer, the question in reverse. What does neovim offer me, as a regular vim user? I don't see anything particularly interesting for my usage, so I don't have any reason to change. Also, some features are missing (like gvim-gtk, that I enjoy using to edit LaTeX occasionally).
Furthermore, as of today, plain vim has an aura of venerability due to Bram's legacy that neovim cannot match. So I'll stick with vim.
It would make sense to port back some of the most popular neovim features into vim. It is a good thing to have innovative forks that experiment aggressively with new features.
> You should ask, and answer, the question in reverse. What does neovim offer me, as a regular vim user?
Well, one of the goals of neovim was to make it easier for new people to contribute.
So, there's an obvious feature you might be overlooking: the project surviving past its creators passing.
Beyond that, async, lua, lsp and treesitter support are other things neovim brings to the table. I don't use vim much anymore, but I know that neovim incorporated them first. If vim did follow on some of those innovations, consider how long it might take for new vim maintainers to get to a point where Bram needed to be to keep up, without his guidance.
I wonder if there is a need for both vim and neovim in the future. Neovim was born out of wanting to do similar things to what the vim maintainers are considering.
One of the big ones for me was Wayland support in neovim-gtk (https://github.com/Lyude/neovim-gtk), which therefore, unlike gvim, fully supports fractional scaling.
Such base programs basically need to go through the Debian packaging gauntlet if they want to succeed.
What I mean by that is that generally they need to persuade distros to be anointed the "official" tool, i.e. Debian or Fedora would have to select Neovim as the new default text instead of Vim.
Then you need a few years for the changes to trickle down everywhere: Debian -> Ubuntu-> Mint -> ..., Fedora -> RHEL, ... After that distro releases need to be cut and people need to upgrade.
I think a full cycle, where a tool becomes ubiquitous if it gets adopted in the base installs, is probably 10 years. See systemd.
> What I mean by that is that generally they need to persuade distros to be anointed the "official" tool, i.e. Debian or Fedora would have to select Neovim as the new default text instead of Vim.
You're probably right. However, I think it's more likely that the Linux distros drop Vim entirely and make Nano the default editor than that they replace Vim with Neovim.
The BSDs have nvi as the default editor, IIRC, so they won't need to change anything.
At some point I tried to switch and some setting broke in my config (mouse mode?) I forget what it was. It took me another 3-4 years before I tried again.
My Vim needs are very modest. I just don’t need anything Neovim has. It’s complication I don’t need.
If Vim got no new features, I wouldn’t care. If Vim became unmaintained but still available from distributions, I’d still use it. If Vim became unavailable (e.g. due to lack of maintenance) I’d be more likely to switch to nvi than Neovim.
I could probably switch to nvi now, but I have no reason to.
FWIW you can use Neovim like Vim with your existing config, without any of the other stuff. That made the switch easy for me. Of course this means you'd rely on Neovim maintainers honoring that compatibility in future...
Loyalty? Inertia? I never felt like there was a reason to switch. I admired Bram’s work on Vim, still do, and didn’t see any benefits to switching. Still don’t, as long as the rest of the Vim dev community are willing and able to carry it forward.
For my purposes, Vim is complete. I don’t require new features, as long as it is maintained and runs on modern OSes.
I tried switching recently, mainly because I wanted treesitter. I couldn’t get it working after half a day messing about, a lot of documentation seemed out of date, and I don’t think my standard plugins + .vimrc worked out of the box. My main focus is getting things done, not fiddling with configs and versions, so I gave up. I figure I’ll try again in a couple of years if it’s still tempting.
For me, it's the use of Lua. I switched to neovim in no small part for the sane defaults, the XDG layout support, and the async/terminal stuff (and I found the code simplification, addition of tests, and removal of ancient legacy stuff to be very appealing).
The terminal and async stuff has been "backported" to vim, as it were. But the plugin ecosystem is diverging. The other items are still open, and maybe those will move forward.
At this point Vim9 is the clearly superior language (don't hate me) since it's very domain-specific, while Lua has only very primitive hacky support. But the plugin ecosystems have diverged -- I don't see NeoVim coming back home without native Lua support, and I definitely don't want native Lua support in vim.
Every time I've tried it, something was missing or broken. Currently it's at least :! which breaks apparently because it tries to do something ‘clever’ and complicated, whereas vi and vim just run the command.
(I can live without cscope, since I no longer do significant C and mlcscope has been dead for aeons, though it's shocking that LSPs are still less capable in some respects.)
not a heavy :! user, what i used there worked, but afaik neovim recommends :te . that's one of the bigger differences. neovim was very proud to have a fully integrated terminal
By now the two have diverged enough that switching configurations between both is an issue. Vim is still much more widely available (installed by default) than Neovim, which makes it the obvious choice to maintain your configurations for if you don’t specifically care about Neovim features. Furthermore, additions like Lua support, while pragmatic, make Neovim feel less organic to me.
In that vein, you are probably fine with whatever version of Vim is installed by your distro. But if you want LSP support for more cutting-edge stuff (like Rust), you probably need to install the latest release of Neovim by hand, not using the OS packaging system. Because stuff is changing too fast.
Can’t speak for everyone but in my day to day most systems I work with already come with vim preinstalled or more convenient to install than neovim. I’d rather just pull my vimrc (If I even have to) and get down to editing quickly.
MacVim and gVim. I've looked at neovim and there are many GUI options (paradox of choice), some of which I've tried, but at the end of the day, I'm more comfortable with what I'm already familiar with.
Likewise. I’m a heavy CLI user but gVim/MacVim are so entrenched in my workflow that the lack of a stable GUI for Neovim made it pretty much a nonstarter for me.
I did the Vim -> NeoVim switch a while back (pre-vim9script) and lack of standardized GUI is a non trivial issue. There are solution(s) - but allof them have had too much friction to fit in a workflow for me. Definitely a concern.
If neovim had the same keystrokes to move out of a terminal window as it does to move out of editor windows, I'd switch. But as it is, it's super clunky compared to vim.
I know about rebinding to alt, but that doesn't work in all my terminals.
So for me, it's that one lousy thing that keeps me from switching. And if someone knows the magic setting to make it mimic vim, please let me know.
I've never used those features, and instead rely on GNU screen (or `term`) to manage my terminal windows. Sometimes I also use horizontal / vertical splits with GNU screen, but it is a bit clunky.
I hear this and the workaround has been opening terminals in a floating window. The “toggleterm.nvim” plugin wraps a bunch of good behavior around this.
From what I've read[1], vim9script was pushed and developed almost exclusively by Bram. With him, a lot of knowledge about its internals and vision for its future dies.
In my experience, Nvim and Vim are similar enough that I don't have any trouble SSHing into any server with Vim and using it after using Nvim all day for development. So far Nvim has been a purely opt-in experience for me.
I would need to migrate my chunky config files. Some issues should be easy (moving files to ~/.config), some other trickier (vim-specific functionality).
But alas, the motivation is not big enough for me to invest the effort.
Some features I'd like from Neovim are built-in LSP (but Vim has that thank to plugins), and tree-sitter based syntax highlighting.
I would like to use Neovim, but it's not as fully featured as VSCode is, so when I need to boot up something more powerful than Vim, I go to VSCode instead.
I feel like I've said the same thing here 3-4 times now, but for some of us it's about what's the most minimal setup required to use the tool. As a sysadmin, I want to be used to the most common tools and configurations that will be on a server without having to take the time to install something new. I could include NeoVim in my Ansible configs for setting up new servers, but generally servers are kept lean so I would rather just use vi/vim for basic edits anyway.
I do use NeoVim with a lightly-customized LazyVim setup on my personal desktop, but I don't use it much differently than I use Vim at the moment. I'm not a power-user, just someone who's comfortable enough with the keybinds that I leave :w everywhere when using a non-vi editor.
> for some of us it's about what's the most minimal setup required to use the tool.
That's was the case for me. When I moved from vi to vim 25 years ago, I devoted a lot of time to customizing it for maximum developer efficiency. Around that time, I got a job where I regularly used five different HP/UX machines, a couple of Solaris boxes, and a few other random machines. At the next job, it was HP/UX, AIX, and IRIX. Few of those machines had vim at all, let alone a version compatible with the setup I had on Linux.
I eventually stopped doing the fancy things and settled into using plain vanilla vi, knowing that it would at least work consistently on every machine I used.
For me it's that Vim offers me enough to satisfy what I want out of a development experience and vim is also installed everywhere which means I can carry my setup around to pretty much any machine (including servers when doing remote administration).
Since Vim 8 launched with a built-in package manager I'm able to store my vimrc and any extensions in git and easily grab it on any new machine I'm on. The level of effort required for me to convert to Lua and adopt newer nvim version of plugins I use seems too high relative to the benefits.
For my use case of simple editing, vi was feature complete like 30 years ago. I don't have any preference at all what open source project build implements those features.
enriquto|2 years ago
You should ask, and answer, the question in reverse. What does neovim offer me, as a regular vim user? I don't see anything particularly interesting for my usage, so I don't have any reason to change. Also, some features are missing (like gvim-gtk, that I enjoy using to edit LaTeX occasionally).
Furthermore, as of today, plain vim has an aura of venerability due to Bram's legacy that neovim cannot match. So I'll stick with vim.
It would make sense to port back some of the most popular neovim features into vim. It is a good thing to have innovative forks that experiment aggressively with new features.
gorjusborg|2 years ago
Well, one of the goals of neovim was to make it easier for new people to contribute.
So, there's an obvious feature you might be overlooking: the project surviving past its creators passing.
Beyond that, async, lua, lsp and treesitter support are other things neovim brings to the table. I don't use vim much anymore, but I know that neovim incorporated them first. If vim did follow on some of those innovations, consider how long it might take for new vim maintainers to get to a point where Bram needed to be to keep up, without his guidance.
I wonder if there is a need for both vim and neovim in the future. Neovim was born out of wanting to do similar things to what the vim maintainers are considering.
gkfasdfasdf|2 years ago
BaseballPhysics|2 years ago
infinitezest|2 years ago
oblio|2 years ago
Such base programs basically need to go through the Debian packaging gauntlet if they want to succeed.
What I mean by that is that generally they need to persuade distros to be anointed the "official" tool, i.e. Debian or Fedora would have to select Neovim as the new default text instead of Vim.
Then you need a few years for the changes to trickle down everywhere: Debian -> Ubuntu-> Mint -> ..., Fedora -> RHEL, ... After that distro releases need to be cut and people need to upgrade.
I think a full cycle, where a tool becomes ubiquitous if it gets adopted in the base installs, is probably 10 years. See systemd.
trealira|2 years ago
You're probably right. However, I think it's more likely that the Linux distros drop Vim entirely and make Nano the default editor than that they replace Vim with Neovim.
The BSDs have nvi as the default editor, IIRC, so they won't need to change anything.
user3939382|2 years ago
At some point I tried to switch and some setting broke in my config (mouse mode?) I forget what it was. It took me another 3-4 years before I tried again.
planede|2 years ago
massysett|2 years ago
If Vim got no new features, I wouldn’t care. If Vim became unmaintained but still available from distributions, I’d still use it. If Vim became unavailable (e.g. due to lack of maintenance) I’d be more likely to switch to nvi than Neovim.
I could probably switch to nvi now, but I have no reason to.
throwaway290|2 years ago
jzb|2 years ago
For my purposes, Vim is complete. I don’t require new features, as long as it is maintained and runs on modern OSes.
plugin-baby|2 years ago
gorjusborg|2 years ago
I copied .vimrc to .config/nvim/init.vim, did a :PluginInstall and was up and running.
colordrops|2 years ago
OJFord|2 years ago
rgoulter|2 years ago
If development of vim dropped and neovim was nominated as its successor, I'd think most vim users would be just fine.
andrewla|2 years ago
The terminal and async stuff has been "backported" to vim, as it were. But the plugin ecosystem is diverging. The other items are still open, and maybe those will move forward.
At this point Vim9 is the clearly superior language (don't hate me) since it's very domain-specific, while Lua has only very primitive hacky support. But the plugin ecosystems have diverged -- I don't see NeoVim coming back home without native Lua support, and I definitely don't want native Lua support in vim.
kps|2 years ago
(I can live without cscope, since I no longer do significant C and mlcscope has been dead for aeons, though it's shocking that LSPs are still less capable in some respects.)
minusf|2 years ago
layer8|2 years ago
ansible|2 years ago
ALoverOfLats|2 years ago
h11h|2 years ago
rmwaite|2 years ago
sigzero|2 years ago
w0m|2 years ago
beej71|2 years ago
I know about rebinding to alt, but that doesn't work in all my terminals.
So for me, it's that one lousy thing that keeps me from switching. And if someone knows the magic setting to make it mimic vim, please let me know.
ansible|2 years ago
kzrdude|2 years ago
imbnwa|2 years ago
arp242|2 years ago
- Features I find useful have been removed.
- I dislike Lua, and significantly prefer Vim9Script.
- Gvim is useful at times.
senknvd|2 years ago
[1]: https://github.com/vim/vim/discussions/12736#discussioncomme...
nequo|2 years ago
> Features I find useful have been removed.
Which ones specifically?
> significantly other Vim9Script
What do you like more in Vim9Script?
> Gvim is useful at times.
What are your use cases for the GUI?
mrzool|2 years ago
rgoulter|2 years ago
- Different servers may have different versions of the program. Some distros are very "stable" and have very old versions of programs.
- It's common (especially for vim) for users to have significant configuration files to make use easier.
infinitezest|2 years ago
tambourine_man|2 years ago
vi is part of POSIX. That alone would be a reason to mantain Vim as a modern superset of vi.
rgoulter|2 years ago
revscat|2 years ago
nemetroid|2 years ago
berkes|2 years ago
> Neovim is available through EPEL (Extra Packages for Enterprise Linux)
from https://github.com/neovim/neovim/wiki/Installing-Neovim#cent...
> Neovim is in Fedora starting with Fedora 25 > sudo dnf install -y neovim python3-neovim
from https://github.com/neovim/neovim/wiki/Installing-Neovim#fedo...
kolme|2 years ago
But alas, the motivation is not big enough for me to invest the effort.
Some features I'd like from Neovim are built-in LSP (but Vim has that thank to plugins), and tree-sitter based syntax highlighting.
That's not enough for me to move to Neovim.
zelos|2 years ago
anta40|2 years ago
syndicatedjelly|2 years ago
highpost|2 years ago
Best of both worlds.
BanazirGalbasi|2 years ago
I do use NeoVim with a lightly-customized LazyVim setup on my personal desktop, but I don't use it much differently than I use Vim at the moment. I'm not a power-user, just someone who's comfortable enough with the keybinds that I leave :w everywhere when using a non-vi editor.
tomwheeler|2 years ago
That's was the case for me. When I moved from vi to vim 25 years ago, I devoted a lot of time to customizing it for maximum developer efficiency. Around that time, I got a job where I regularly used five different HP/UX machines, a couple of Solaris boxes, and a few other random machines. At the next job, it was HP/UX, AIX, and IRIX. Few of those machines had vim at all, let alone a version compatible with the setup I had on Linux.
I eventually stopped doing the fancy things and settled into using plain vanilla vi, knowing that it would at least work consistently on every machine I used.
guhidalg|2 years ago
conor-|2 years ago
Since Vim 8 launched with a built-in package manager I'm able to store my vimrc and any extensions in git and easily grab it on any new machine I'm on. The level of effort required for me to convert to Lua and adopt newer nvim version of plugins I use seems too high relative to the benefits.
sdfghswe|2 years ago
petepete|2 years ago
svlasov|2 years ago
unknown|2 years ago
[deleted]
stcroixx|2 years ago
suprjami|2 years ago