Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've re-built my neovim config like 3 times this year as I have played with several 'distributions' and styles. SpaceVim, LunarVim, AstroVim, and NVChad to name a few.

This last weekend I gave LazyVim a try and it is by far the most sane config setup I have used and I will now be sticking with it.

There is a starter repo where you clone it, delete the .git directory and start customizing.

https://github.com/LazyVim/LazyVim My config is here, feel free to copy/steal it. https://github.com/curtbushko/nvim



Could you elaborate, why is LazyVim more sane? It too seems to require understanding a lot about their organization of configuration. (It doesn't help that I'm still not migrated from Vim to Neovim and lua, because I just didn't find a neovim configuration that was better than what I have.)


There are a couple things:

- Most distros seem to like wrapping functionality and having you use their own convenience functions to get things done. For example, for AstroVim, astrovim.<function> is all over their config files. This is fine if you were a distro developer and you were trying to make things easy for yourself but I do not find it easier for the user when neovim already has simple lua based functions. It is another barrier to entry as you have to learn how the distro authors put things together. - The config for LazyVim is will thought out. For example, it has 2 directories: /config & /plugins. That makes it simple to figure out where things should go. keymaps go in keymaps.lua, options go in options.lua... it kind of makes sense. - The plugin config for disabling a builtin plugin is the same as where you would configure your own plugins. It is literally:

  return {
    { "github/plugin.nvim", enabled = false },
  }
vs

  return {
    { "github/myplugin.nvim", {config here if you want}},
  }
- There are no weird plugin loaders and most examples you see from plugin authors are copy/paste into that bracket section. - The LazyVim website is decent. Not perfect though. https://www.lazyvim.org/ - The starter is a great place to start your setup. https://github.com/LazyVim/starter - The plugin manager, lazy.nvim, seems to be a lot simpler and well thought out compared to others plugin managers (like packer). It has autoloading, caching, a UI, etc. - Folke, the distro creator, has written many popular plugins and knows quite a bit when it comes to configuring plugins. That seems to be paying off in the design.

To be fair, there are some design decisions that I don't agree with when it comes to the LazyVim layout itself. Putting everything in editor.lua or ui.lua instead of per-plugin config is not how I would have done it. It was pretty easy to figure out where the plugin settings were though because they match the categories on the website.

Note: I mainly switched to Neovim as I am find that there just seems to be much more development in the ecosystem and the number of amazing plugins coming out is staggering.


Thanks a lot. Maybe I'm starting to see what you are talking about. I have setup a working (?) lazyvim. Let's see where it goes. Some frustrations had to be overcome, most of them turning off unwanted functionality like autopairing parantheses, for example.. The custom notifications/popups also had to be disabled for now since they have some problems (cursor vanishes in light terminal? Important command outputs are only visible for a few seconds?).


I disabled the checker on startup because that dialog was annoying me.

In /config/lazy.lua:

  checker = { enabled = false }, -- automatically check for plugin updates
I've never had a problem with the things you mentioned but the notifications are using either noice or notify. I think the submenu is <leader>sna



Helix doesn't have tabs or folding, I find it really hard to use an editor without those features. The preconfigured LSP stuff is nice, but after you set it up in vim you usually don't have to mess with it unless you want too.


I'm happy to dump NeoVim if Helix is actually better. But is the ecosystem _really_ there yet?


As with most engineering tools, I think using the word "better" is not necessarily correct. It's a matter of tradeoffs.

For me, I was fed up maintaining code to run my neovim setup the way I want, so I was looking for a configuration distribution or... something else.

Helix was the dead simplicity I was looking for. It has its own warts and drawbacks, but the tradeoffs are well worth it in my experience. I absolutely love Helix!

But if you want your editor to work exactly the way you want and having maximum flexibility is more important, you will not like Helix, which is extremely opinionated and has 95% of what you want in a modern text editor. The other 5% may be a deal breaker for you.

And that's fine! Use the tools you love!


Unfortunately there is no ecosystem. Helix does not provide an extension interface.


Huge downside for me.

Not that I want to muck around with plugins all day, but having the ability to add a few helper plugins to ease certain tasks is a godsend in terminal editors.

Especially if you really dislike certain defaults packaged with the editor.


That is too bad. If they did then they would probably garner huge community support and the gaps would be quickly filled in.


They're actively discussing/working on it: https://github.com/helix-editor/helix/discussions/3806


No neovim is much better and easier and retains most of the vi keystrokes while helix breaks some common vi keystrokes

And no extension interface for helix another big positive for neovim and even vi


I have played with helix and I do like how it comes with everything out of the box. Helix is doing great things but it isn't there yet.

I can customize Neovim the way I want and the plugin ecosystem is huge. Maybe when Helix gets there it will be worth the switch.

p.s. kakoune style of modal editing makes so much sense and I wish vim had started out like that.


What are the design goals of helix other than neovim in rust without all the original vi/neovim key bindings sans extension interface b



Can they add backwards compatible to all vim key bindings then that gets very useful like neovim and unlike a vim like plug-in on vscode


I would love to use helix, if only it hadn't decided to come up with new keymappings


Nah the keybindings don't work once you learn the vim ones




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: