Live data from Hacker News

Neovim v0.5

github.com

81–90 of 213 posts

Re: Neovim v0.5

#81
post #28

NeoVim is very tempting to me. I've been tweaking my Emacs config for 5 years, and I'm very happy with it, but only on my Ubuntu computers. On Windows, Emacs runs like garbage (slow, no double-buffering). I might have to switch to NeoVim, at least on Windows.

The Emacs experience on Windows could be faster, but having switched from Neovim to Emacs on macOS I do not want to go back to Neovim now (and I was running the Neovim 0.5/dev branch with LSP and treesitter integration for some time). Your time might be better spent on improving Emacs performance on Windows if you can. I haven’t used Emacs on Windows for a little while, but I wonder if running it via WSL2 with the new Linux GUI integration is better than the native Windows experience?

I spent months trying to mould Neovim into an IDE-style environment I could love (people seem split about whether Neovim should be an IDE or not, but it feels like it’s evolving in that direction).

I tried Doom Emacs because of the buzz around it, fell in love straight away, and built my own Emacs config from scratch to get a better understanding of Emacs (I like Doom, but I found it hard as a new Emacs user to grok the separation between Emacs/Doom/external packages; the appeal of Emacs for me is to shape the tool to your needs and to understand what the packages you’re using do and how to tweak and customise things).

Neovim is improving but it still falls short of Emacs by far in my opinion. Some things to be aware of from my experience of both environments:

Neovim UI is inconsistent. With Emacs I can have every package use Ivy for item filtering and selection, for example, where as Neovim plugins often end up inventing their own UI because there’s no real UI standard in the Neovim space. Even Neovim packages that build good UIs (telescope) feel buggy and laggy to me compared to Emacs equivalents. (I had a persistent issue with telescope where trying to close the popover would take multiple attempts or not work at all).

Package quality is _so_ much better for Emacs. I tried a bunch of different Vim/Neovim git plugins and none of them are close to magit. When I ask Neovim users what they recommend for git integration, they suggest plugins that don’t hold a candle to magit (fugitive), external CLI tools that aren’t integrated with Neovim (lazygit), or say something like, “just use git on the CLI via tmux or iTerm tabs! Vim isn’t supposed to be an IDE on its own - you compose Linux tools in isolation into an IDE”. That’s fine if you embrace that mindset, but I find it unsatisfying now that I’ve used magit for some time. It’s a similar story for pretty much every IDE problem space (projectile and Cider are so much better than their Vim equivalents, for example).

Documentation quality is generally much better with Emacs, particularly when writing plugins. (Lua APIs are documented for Neovim but not to the extent that Elisp functions are.)

Emacs Lisp is also so much nicer to work with than Vimscript and Lua. The ability to run expressions in the environment without reloading whole files or restarting is a superpower, especially when making plugins.

I don’t mean to crash the Neovim 0.5 launch party here – by all means try it! Just be prepared to trade some of your Windows speed-related frustrations for general UX/UI/polish pain points instead. :-)

Re: Neovim v0.5

#82
post #2

I'm excited for this release! Built in nvim-lsp, treesitter support, better support for accessing vim internals from lua are all awesome additions. I've been using the nightly releases for a while and it has been great! I'm looking forward to seeing the larger community now have access to the stable release! For people that are interested in knowing more, neovim is having a release stream on teej's twitch channel: tw…

What do folks these days use with vim-lsp to get an IDE-like experience? I’m wondering if it would be better than a coc/ccls setup.

I went back to coc from nvim's native lsp. I think the nvim lsp world needs another year to stabilize and mature. The default lsp configs are pretty rudimentary and make big assumptions like every project root is a git repo. You can't easily just have a project specific LSP configuration file like you can with coc. And installing each LSP is a real chore with various competing plugins instead of the easy built-in coc install commands.

Re: Neovim v0.5

#83
post #39

Earlier quoted context omitted.

I have been an nvim user for the past few years now. I tried the whole modern nvim experience with Telescope, built in LSP and other Lua based extensions.. My conclusion is that my current setup with Ale, FZF + silver searcher, clangd/pylint and Deoplete is way faster, less buggy, albeit harder to setup. Also I'm just too old to learn the whole Lua API.. That's not something I hold against nvim, but it's a reflection…

>Btw, I paid for Onivim2. Was surprised by its snapiness but it's pretty useless as a working editor if you want equivalent features to nvim how would you compare to nvim? i tried vsc with a vim plugin and it was just... painful.

VS Code is an awful editor in general. I don't understand how it's so popular. Maybe it's just me but I don't like having 300ms lag between every action I perform on my editor. The vim emulation is a joke.

Onivim's vim emulation is great.. Because it's literally using libvim. It's also very snappy. But thats where the advantages end.

Re: Neovim v0.5

#84
post #7

The best developers and engineers I’ve known all used Neovim. Coincidence?

You don't know enough developers or engineers. Much like; "If you find that you are always the smartest person in the room, you are in the wrong room." Healthy communities are diverse not homogeneous. You get tunnel-vision if everybody always do things the same way. I use vim on all my servers. I tried neovim awhile ago, but found that muscle memory kept typing vim instead of (nvim/neovim whichever the program execut…

I know plenty of developers and engineers.

But the best engineers can only be about a handful, everyone cannot be the best. That's not what the best means.

It just so happens that of those best, which by the time you get to my age might only be about 3 or 4, they all seem to use neovim.

Re: Neovim v0.5

#85
post #78

I love Neovim. I switched from VSCode and never looked back, it's just so much more efficient to just do everything with your keyboard. In case someone is interested how to do the things you're used to from VSCode, I created some videos: https://youtube.com/playlist?list=PLu-ydI-PCl0OEG0ZEqLRRuCrM...

Funny, I switched from neovim to VSCode + the vim plugin. Sure, it doesn't have everything I would do with vim supported, but it's enough and overall it's a better experience

I've started using the vscode neovim plugin. It runs a headless neovim in the background so you get literally everything that both editors provide in one. It's not 100% flawless but it is damn good.

I used to flip between the two anyway - if I needed a better intellisense for, say, a large typescript project, then vscode won, everything else was nvim. Now I have the intellisense of vscode ontop of neovim.

Re: Neovim v0.5

#86

Neovim is great. I've moved from a very large custom vim setup to a slightly modified LunarVim [1] config (requires Neovim 0.5+), which takes full advantage of tree-sitter and LSP. Loving it so far. [1] https://github.com/ChristianChiarulli/LunarVim

I'm interested in what modifications you have made. I've been trying LunarVim a bit for the last week and am on the fence about going back to SpaceVim or just bare neovim. Not sure, still evaluating...

Re: Neovim v0.5

#87

I love Neovim. I switched from VSCode and never looked back, it's just so much more efficient to just do everything with your keyboard. In case someone is interested how to do the things you're used to from VSCode, I created some videos: https://youtube.com/playlist?list=PLu-ydI-PCl0OEG0ZEqLRRuCrM...

I am not sure how this is possible

Editors like Vim, Emacs or VSCode are all about the plugins

I use emacs for org mode And VSCode for everything else, because simply most proramming languages have their main plugins on VSCode

The only way you can move from VSCode to neovim is, if you dont care about the plugins

Why would you VSCode if not for the plugins

Re: Neovim v0.5

#88

There is a middle ground for VS Code users: https://github.com/asvetliakov/vscode-neovim This extension integrates neovim into the VS Code environment by mapping keystrokes from VS Code to the neovim binary. This approach (which requires 0.5) is much simpler and more robust than attempting to emulate all of VIM, as the VSCodeVIM extension does.

I've always scratched my head at this plugin. Is the idea that you have both a VS code configuration for all the stuff around the editor (themes, UI stuff, all kinds of fancy VS code features like its file tree, git tree, testing, etc.), and a neovim configuration for the editor component itself? How do language servers and such work--are all the slick one click VS code installed extensions ignored and you're back to…

I think you have it right: neovim for your fingers and VS Code for the larger programming environment with all its features. I don't know how LSP is integrated, but it seems to work.

BTW, I ran into too many corner cases where VSCodeVIM's emulation broke down.

Re: Neovim v0.5

#89
post #10

For those out there trying to "learn" vim, give neovim 0.5 a try! I've been using neovim HEAD (0.5 pre-release) for a while and it has been awesome. It all started with this config [0] and from there and haven't tried (as before) to join a vim cult but instead to use it as a tool that works for me (i.e. use mouse scroll to browse around, use arrows on insert mode, and other vim sins) Little by little I've been lookin…

Wow, I’ve been a vim user for like 8+ years and didn’t know about 0p even though I run into that problem all the time. I had even re-bound yank/paste to use a different register. Thanks for the pointer! This is what I love about vim, there’s always something new to learn.

LunarVim has a "show b̶u̶f̶f̶e̶r̶s̶ registers" plugin enabled so when you type " it brings up a window showing the contents of various buffers, so you can eyeball it rather than remembering.

Re: Neovim v0.5

#90

There is a middle ground for VS Code users: https://github.com/asvetliakov/vscode-neovim This extension integrates neovim into the VS Code environment by mapping keystrokes from VS Code to the neovim binary. This approach (which requires 0.5) is much simpler and more robust than attempting to emulate all of VIM, as the VSCodeVIM extension does.

I've always scratched my head at this plugin. Is the idea that you have both a VS code configuration for all the stuff around the editor (themes, UI stuff, all kinds of fancy VS code features like its file tree, git tree, testing, etc.), and a neovim configuration for the editor component itself? How do language servers and such work--are all the slick one click VS code installed extensions ignored and you're back to…

vscode-neovim really depends on nvim 0.5 I was using a neovim 0.5 nightly before this was released. It's not perfect but it's a LOT better than VSCodeVim.
Post reply on HN