Hacker News new | ask | show | jobs
by 29ebJCyy 855 days ago
As someone who uses Neovim, I would love to have a near-vim experience in something that has all of the convenience of VSC + a great plugin ecosystem. However, I'm not sure about the fact that in `normal` mode `:` just brings up the `cmd+shift+p` command dialog. Maybe I could get used to it, but the fact that something as simple as my muscle memory for "I'm in `normal` mode, better type `:w` just to make sure I've saved" automatically bringing up that dialog and then suggesting I `Close current window` immediately... is not helpful. If the command experience is going to be so different from vim them it's not really going to ever be a suitable replacement even for brief stints/pairing IMO. It's a shame because the VS Code vim plugin leaves a lot to be desired.
5 comments

Neovim with Lazyvim is pretty good out of the box. In the old days, both Emacs and (Neo)vim although highly extensible, well, it was hard to configure and set up for the things you wanted to do.

Now, we have Spacemacs, Doom Emacs and Neovim with Lazy, Packer etc., so I really can have a 1st class "IDE" without needing to learn LISP or Vimscript (or Lua). So you do need a little bit of that to be able to edit the package.el or init.lua, but it's pretty much uncomment or cut & paste.

If you're looking for a (Neo)vi(m) tutorial, try this:

https://www.barbarianmeetscoding.com/boost-your-coding-fu-wi...

Just to be clear I love neovim (though I don't really like Lazy particularly, maybe I should give it another shot). Mostly I'm looking for something that is close enough to vim for me but also close enough to VSCode for the people I pair with.
Not vim (by design) - but have you tried helix?

https://helix-editor.com

I've used vim at a moderate proficiency level for 10+ years, but Helix's selection -> action motion design is just better, for a lot of reasons.

Helix has been looking for a GUI solution for a while now. ( https://github.com/helix-editor/helix/issues/39 ) I wonder if Lapce's UI toolkit would be a good fit.

Helix is a very good and well-managed project, but it's quite hostile towards its own community. There are no plugins, and they won't be in Wasm like users want, but in Scheme dialect named Steel, that nobody want... if at all. Missing features like copilot or file browser expected by the community are essentially never merged into the master. This might be a better path than total dispersion and destruction of what works, but my expectations do not align with what the creators offer, so I give them the freedom to choose. I keep my fingers crossed for its development, but I personally use something else.
As a user, I certainly do not find it hostile.

In a "batteries included" edit a service like copilot that expose all data to a third party is a terrible anti-feature.

As for script-oriented plugins vs wasm - I see a tradeoff - and don't think neither are right or wrong.

Cross editor plugins via a common wasm api might be fun, but perhaps not very practical.

Edit: link to relevant issues and discussion:

https://github.com/helix-editor/helix/discussions/3806#discu...

https://github.com/helix-editor/helix/issues/122

https://github.com/helix-editor/helix/issues/1927

Copilot has many fans, and for many, the ability to use Copilot is more important than all the other "batteries-included" features. It's not for me or anyone else to judge. Everyone should make their own choices.

Regarding plugins, I'm with Helix from the beginning, i have read everything, and I understand the motivation well and can accept it. Perhaps this is what the ideal editor looks like for creators, but it definitely doesn't look like the ideal editor for me. I respect their decision, but I'm sticking with Neovim and might switch to ZED when Linux support becomes available.

Why do you consider switching to ZED from Neovim? ZED is lightyears away from a good Neovim setup in terms of functionality and efficiency. The problem with Neovim is the setup and config to do all, but you already mastered it.
I still don't understand why you claimed that:

> [Helix]'s quite hostile towards its own community.

"good and well-managed" vs "[merges everything] users want" - pick one
Generally agreed, but in the editor space that's where plugins come into play. The plugin story for Helix is a long one, but I think it's converging and bet it's coming within this year.
I pick to stay with neovim.
Helix is a dream, as far as I can say from having played a lot with it, but only played. To be fully comparable to some IDE or Neovim setup like LazyVim, you need to complement it with other tools and use some workarounds, e.g. working the files (tree) or custom snippets.

(I'm still using VS Code to get my stuff done, but in a couple of weeks I got some time to spent to re-evaluate Helix and Neovim.)

You can use a snippet LSP to work around Helix not having a built-in LSP manager. They're listed in https://github.com/helix-editor/helix/issues/395
No but this seems neat! I'll check it out, thanks!
Since v1.0+ of this extension I have been constantly having issues with neovim's and VSCode's buffers got out of sync. I cannot reliably reproduce the issues however. There are a few similar reports, e.g. https://github.com/vscode-neovim/vscode-neovim/issues/1624. I've switched to other VIM extension (VSCodeVim) which I found more reliable, albeit less powerful.
That's funny, because I switched from VSCodeVim to NeoVim for a similar reason.

I guess both have issues. But still, the power of VSCode with vim keybindings is still my best setup.

What are you missing from neovim?

There are plenty of out of the box configs that do most of the work for the user in terms of configuration that begs the question: why demand vim in other code editors?

https://neovimcraft.com/c

When I'm developing alone I mostly don't miss anything when in Neovim. However, even with mouse features enabled vim is not a great experience when I'm pairing with someone who is only used to using VSCode (which is a lot of people I work with). Ideally I'd like to have an editor which is very close to vim in the ability to use basic navigation, editing, commands (for instance, macro support would be nice but I can probably live without it) when pairing.
I guess that makes sense, I'm rarely in a situation where I need someone to work on my computer.
Agreed. : should be standard Vim commands. Command pallete should be a separate keybind.