Hacker News new | ask | show | jobs
by adrianN 3337 days ago
I'm currently using vim and I'm quite happy with it. I don't use many plugins, so better support for plugins is not very helpful to me. Are there other reasons why I should switch to Neovim?
8 comments

Faster startup, mouse works as you'd expect in a regular desktop app. Switch panes, tabs, open new tab, scroll panes, resize panes, select ranges, all in the terminal. I know not using the mouse is one of the reasons why one would choose vim, but the mouse really is faster/more intuitive in some situations.
Using a mouse is not faster if you really know how to use vim. I guarantee I can get to any line in any window in any tab faster than it takes for my hand to even reach the mouse. Same for resizing splits, selecting ranges, whatever. It's only more intuitive if you're stuck in a GUI mental model. Disable mouse support and learn to navigate vim just like you learned to edit in vim.

Not trying to come off as confrontational, just my 2ยข.

Resizing panes is more intuitive with a mouse imo. Doing it with a command just leaves me guessing and estimating how much to move things.
It should be possible to use something like EasyMotion to resize panes, taking the guesswork out of it and making it as fast or even faster than using the mouse.
Being "stuck in a GUI mental model" means I use IDEs for most development I do instead of vim/emacs (which I guess would be the extreme of being stuck in that model?). At the end of the day using my mouse to open a file doesn't impede my ability to code in the slightest.

I've never understood the almost subtle elitism behind being able to use Vim without a mouse because "moving your hand to the mouse is slow". If a problem is so simple my writing/editing a solution for it is constrained by... the time it takes my hand to move to my mouse... I usually just fire up nano.

It's not about elitism, it's about using the tool you've chosen efficiently.

If I used the IDEs you use, and you suggested to me a way of using them more efficiently, I wouldn't accuse you of elitism. I'd thank you for showing me something new and improving the way I work.

Have you ever witnessed somebody using a mouse to move between form fields? My bet is you at least thought about telling them they can use the tab key. You probably wouldn't expect them to come back with some comment about the subtle elitism behind using the tab key.

If I told them they didn't really know how to use a browser because... they didn't know to use tab to move between fields... I wouldn't be surprised in the slightest if they came back with some comment about the subtle elitism
Ha, fair enough. But that really only shows that my example wasn't great.

If you eat soup with a fork, you don't know how to use silverware. If you drive nails with a ball-peen hammer, you don't know how to use hammers. That's not hammer or silverware elitism.

IMO, using a mouse in vim shows that you don't know vim. You can still get the job done, but why not commit to using the tool as intended?

Have you used a PDF form where the order of the fields is wrong so Tab moves all over the place? I sure have. There is no silver bullet.
Most IDE's have fantastic fuzzy search and go-to-identifier tools you might want to try. I find it much easier to stay concentrated on a change when not needing to hunt files with the mouse.
The mouse features you describe are already available in regular vim; I have been using them since long before NeoVim existed. Are they improved somehow?
I can already use the mouse normally in vim... is it that the configuration is too hard?
On the other hand there are not many reasons for not doing the switch. Thus, it's more like choosing whether you want to support the project or not.
Do any of the plugins that you do use slow the editor down? Eg some completion plugins that parse code may not be the fastest. Neovim makes this asynchronous so it no longer blocks you're editing while its working away in the background. The built in terminal is nice too (I use it to give me a "real" REPL for Clojure development)
vim 8 also now supports asynchronous plugins (not sure how many have been upgraded though).
Not much, which is really its selling point. Its really "just vim".

There is the more "open" and "community-focused" development model, and better code organization, if you care about those.

and by the way, by "just vim", I really meant it. That means in most cases, "switching" involves little more than symlinking your vimrc.
Had the same question since I just started with vim.

What I saw in using nvim:

    - terminal use
    - async plugins
    - it's almost entirely compatible to vim anyway, so you can switch whenever you want to.
Also would like to say thanks to the devs working on making neovim.
> Are there other reasons why I should switch to Neovim?

I've switched back and forward between neovim and vim since last year. Most people won't notice a difference right now. I think around version 1.0 we'll start seeing people do some more compelling stuff with neovim.

I initially went to neovim because it had better support for color schemes. I usually develop in VSCode, and wanted a similar color scheme when I needed to make small edits on the server. Neovim had much better support for that, and acted like "normal vim" the rest of the time, which was awesome.
For your use case, probably not many reasons. Maybe the built in terminal?
What good of a built in terminal? Thanks
In Emacs the shell-mode allow me to use the shell as any other buffer, with random access and scrolling. I can cut and paste stuff just like in any other text buffer, manipulate the output of my session to save it to some file / send it to someone else, etc. IDK how it is in nvim but I'm quite pleased with shell in Emacs, can't go back at all. Though if you're using tmux or maybe screen you can probably do similar things.
The Vim :sh is much more limited. I actually kind of stopped using it a while ago because it the workflow was so jarring, especially on Windows.

Neovim's :terminal is from what I can tell more or less equivalent to Emacs's shell.

I'm not sure I understood your question. This is the terminal: https://neovim.io/doc/user/nvim_terminal_emulator.html

If you're asking what good is a built in terminal, well, there's plenty of scenarios. One I'm facing right now is using GVim on Windows. Have you ever seen what happens when you type !dir in GVim, right now? It's really ugly.

I don't use it as a terminal. However, it makes things like fzf integrate quite nicely with neovim. The later looks and interacts awfully in vim.