"Using vim/nvim for 20 years". "cba to configure LSPs its too hard". What?
> LSPs its too hard". What?
Back when I explored helix as a long-time vim user, I had some LSPs set up with neovim. But I was very much in doubt how to take advantage of these LSPs and what kind of configuration options make sense. The "hard" part is understanding what LSPs can do for you and what kind of key bindings I need to set up, so that I can use the relevant features.
Helix gives you a sane user interface to LSPs that is discoverable
Helix wants to be Emacs. Ever since they decided to use a built-in Lisp dialect called "Steel" for scripting and become the next Emacs, not the next Neovim, I stopped following it. I love Lisp, I wrote so much code in Lisp in the '80s and early '90s, but that was another millennium! It's 2025 now, and just because it's easy to write Lisp interpreters doesn't mean we should use them. In fact, maybe Forth is even easie…
I'm not sure why you think Lisp makes this "emacs" unless you're worried it'll fall flat because most Lisp-interested folks would find emacs more full featured? I'm not sure if a Scheme is particularly different than neovim's Lua. I'll be honest though I'm not sure how deeply Steel is integrated into Helix.
It's not integrated at all right now. It's still sitting in a feature branch unfortunately.
I just heard of Helix and decided to take it for a spin. I'm not sure why I'd use it instead of Vim. For all the Vim similarity, inverting the do-this-to-that seems like an arbitrary annoyance that I don't understand. Why go from "change this word" (cw) to "I want to change this word, so I'm going to select it first, then change it" (wc). I mean, it's not a big deal, especially if you're not already using Vim, but wh…
Having separate commands for creating/modifying selections and for editing their contents is more orthogonal. In kakoune, you can select a word, multiple words, multiple search results, a brace-delimited block, or an arbitrary sequence of characters (it's pretty common that I want to include a bit of whitespace, or instance), and the same 'c' command works on all of them. The same 'd', 'i', and 'a' commands also work on all of them. In straight-line editing it's no more keystrokes than vim, and hardly more than any other editor, but for complex operations it lets you tailor and preview them as you go. The thing that confuses me is why it would even be a debate that this is better.
I've fallen in love with Helix and now use it for everything. Moved from neovim and VS Code to Helix for the majority of my coding. For me, after trying the Lazy neovim plugin distro and being a long-time vim user, Helix fills a unique need: - It's beautiful (lots of attention to detail) - It's fast (meaning: at no point did I think Helix is slower than it should) - It's hugely ergonomic (each default keystroke reson…
> This might have been different had I been a vimscript wizard, which I'm not. You mean Lua wizard (for Neovim).
At least lua is a real language, i.e. a language used by more than just vim.
Helix still has no way to emulate Sublime's Ctrl + Click (placing multiple carets), nor Sublime's Ctrl + D (duplicating selections and creating a multiple caret for each)?
It has both? Granted, Ctrl+D requires manual construction from a sequence of commands, but click to place extra carets works as is
> crashes: every week or so there’s a segfault and the editor crashes. ... This doesn’t bother me that much though, I can just reopen it. Strange approach to data loss, since it doesn't have persistent undo, you can't just reopen it to the same editing state? > After using Vim/Neovim for 20 years, I’ve tried both “build my own custom configuration from scratch” and “use someone else’s pre-buld configuration system” a…
> Exactly! Pity this basic contextual help isn't more widespread, every single app that uses a lot of keybind sequences could benefit from it, especially if it becomes a bit smarter and only shows a popup if you don't finish the sequence right away
I've been using Vim/Neovim for 20 years, but still can't get enough of which-key[1] which I only installed ~6 months ago.
I'm not sure why you think Lisp makes this "emacs" unless you're worried it'll fall flat because most Lisp-interested folks would find emacs more full featured? I'm not sure if a Scheme is particularly different than neovim's Lua. I'll be honest though I'm not sure how deeply Steel is integrated into Helix.
It's not integrated at all right now. It's still sitting in a feature branch unfortunately.
That bit about search using the ripgrep plugin not providing context has always been available using telescope and a handful of clone plugins.
Indeed, Vim has had ways to do this for years, before nvim. I suppose their point is that it comes out of the box? It is worded in a way that makes it seem like they think like there are no options. There are other things too, like pressing `*` then using `:%s` is no different than the behaviour they describe. I use a plugin that shows you all the updates live as you type making it essentially the same as multiple cu…
I think showing live preview for replacements is also a built-in Neovim feature now, but I can't remember if it's enabled by default or not.
I just heard of Helix and decided to take it for a spin. I'm not sure why I'd use it instead of Vim. For all the Vim similarity, inverting the do-this-to-that seems like an arbitrary annoyance that I don't understand. Why go from "change this word" (cw) to "I want to change this word, so I'm going to select it first, then change it" (wc). I mean, it's not a big deal, especially if you're not already using Vim, but wh…
Because immediate visual feedback is more natural than having to imagine an operation in your head, it's the same logic for multiple cursors - where it's even harder to understand what "change this word" will actually change.
> Kakoune tries hard to fix one of the big problems with the vi model: its lack of interactivity. Because of the verb followed by object grammar, vi changes are made in the dark, we don’t see their effect until the whole editing sentence is finished
Skimmed only. Most titles was like "i use X for that" then scrolled down for the next one. And thats the thing. Neovim (vim) is about the unix way, use existing tools and use them from vim. Last time i checked this was not an option in helix, and some very trivil things was impossible, like populating the quickfix (is it a thing n helix?) from a makefile command. Bottom line is helix is basically a stipped down versi…
I use kakoune, and don't understand why helix seems to be taking off while kakoune (which predated and inspired helix) remains niche. Kakoune fully embraces the unix philosophy, even going so far as relying on OS (or terminal-multiplexer, e.g. kitty or tmux) for window management (via client/sever, so each kakoune instance can still share state like open buffers). A comparison going into the differences (and embracin…
This is unfortunately exactly why I never used (neo)vim or kakoune (or tbh, sublime text whose lsp integration I have never successfully gotten working). Going from school (Java + NetBeans/C# + Visual Studio) to work (C#/JS + Visual Studio -> C#/TS Visual Studio Code) I had expectations for certain language features being available by default. Helix is the first editor of its ilk to get configuration out of my way so I can effectively write code the way I'm used to.