Live data from Hacker News

Notes on switching to Helix from Vim

jvns.ca

41–50 of 242 posts

Re: Notes on switching to Helix from Vim

#41
post #13

"Using vim/nvim for 20 years". "cba to configure LSPs its too hard". What?

I think a lot of people on this site have genuine reading comprehension problems. I mean that as an observation, not an attack.

> "Using vim/nvim for 20 years". "cba to configure LSPs its too hard". What?

Nowhere did she say that she tried and failed to set these up. Your comment indicates that you read it as her saying that it's too hard to do. Where did that come from?

She said it "felt like too much work" which is A) unrelated to difficulty and is B) something that you can say after you've done the thing, just as legitimately as you can say it before you do the thing.

Being able to recognize that something that works just fine but isn't right, and not being satisfied with that is a skill whose importance is difficult to convey. It is related to the sense people get after a while that gives them an allergy to unnecessary complexity. Complexity is fine if it is required. The zero-step LSP set up procedure for Helix proves that the multi-step LSP set up procedure for vim can be improved.

Re: Notes on switching to Helix from Vim

#43

"using a terminal-based text editor For many years I’d mostly been using a GUI version of vim/neovim, so switching to actually using an editor in the terminal was a bit of an adjustment." For a long time my pain with this was that I often want to open an ephemeral editor while not losing context and sight of my terminal. With a GUI editor you always get a fresh window, but in the terminal this is difficult. Luckily z…

from my `/etc/tmux.d/keyboard-shortcuts-comfort.conf`:

    bind-key j command-prompt -p "vim:" "new-window -c '#{pane_current_path}' 'stty -ixon -ixoff && vim %1'; select-pane -T '%1'"
This binds `j` to prompt for files to open (* or just hitting enter works) and launches vim in a new window in tmux (turning off flow control and setting filename as title). Probably one of my most-used shortcuts.

Re: Notes on switching to Helix from Vim

#44
post #30
post #19

> I think what motivated me to try Helix is that I’ve been trying to get a working language server setup (so I can do things like “go to definition”) and getting a setup that feels good in Vim or Neovim just felt like too much work. After using Vim/Neovim for 20 years... I think this is catching me off guard. Especially in the past 5 years there are Neovim distributions that make this extremely easy to configure. I a…

I've noticed a number of moderately sized companies "standardizing" on vscode tooling. You can use other editors, but they'll have extra special support for vscode: default project format settings or special tooling for debug integration specifically in the form of vscode config, that sort of thing. Recommended plugin sets. I also took pause at the claim that LSP was the issue. Neovim + treesitter + LSP feels... fair…

When I worked with programming students we used VScode despite me, the professor, and most of the other grad students not liking it. It’s just so easy to download, has the “run” button, and, well, at least it isn’t Eclipse I guess.

Vim is better of course it’s just hopeless to get people to use it.

Re: Notes on switching to Helix from Vim

#46

Vim is life, no need to change

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 why THAT of all things? The difference is [explained] but the reasoning behind it is not.

Also the docs mention zero configuration but the first thing I had to do was find out why the LSP wasn't showing any information and then create a config file to fix it because the default behaviour doesn't show anything from the LSP, which makes it seem like it's not even there.

And there's no :help command.

Maybe it's a great editor, but I guess they're not targeting existing Vim users for conversion.

[explained]: https://docs.helix-editor.com/from-vim.html#migrating-from-v...

Re: Notes on switching to Helix from Vim

#47
post #19

> I think what motivated me to try Helix is that I’ve been trying to get a working language server setup (so I can do things like “go to definition”) and getting a setup that feels good in Vim or Neovim just felt like too much work. After using Vim/Neovim for 20 years... I think this is catching me off guard. Especially in the past 5 years there are Neovim distributions that make this extremely easy to configure. I a…

I'm not sure your implication of LSPs existing, specifically for vim, or in general, for 20 years is actually true in order that your questioning of Julia's skills to actually make sense. As a similar example, I could never be bothered to install and configure any LSPs even though I've been using vim for more than a decade. The friction of doing that was always just a little bit higher than installing a full blown ID…

ar_lan specifically mentioned Neovim distributions. Examples would be LazyVim and AstroNvim. These are packages you can install that provide Neovim in a pre-configured and opinionated way. They generally come with language servers, linting, and various other features out of the box, and have their own paradigms for configuration.

They can be easier to get started with than just installing Neovim from scratch. But they add their own complexities. First, you have to know that they exist, and pick one. Then you have to know how to configure them, they may have their own nuances about how things are done. Under the hood they're using all the same packages, so you'll need to learn how to configure those as well if you don't want the defaults.

I would say the distributions to make it extremely easy to get started with a functional IDE experience with LSP features. But they're not without their own learning curve.

Re: Notes on switching to Helix from Vim

#48
> 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” and even though I love Vim I was excited about having things just work without having to work on my configuration at all.

I don't really get it given how primitive the resulting Helix config is (I mean, even the most frequent commands are based off the mistaken unergonomic w/b defaults), presumably you would've been able to replicate it comletely in the first X years of using vim, and then there is no hell anymore?

> little help popup telling me places I can go. I really appreciate this because I don’t often use the “go to definition” or “go to reference” feature and I often forget the keyboard shortcut.

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

Re: Notes on switching to Helix from Vim

#49
post #17

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…

All of this plus that with their approach of shipping an editor that is useable out of the box I feel a lot safer from supply chain attacks. No matter if VSCode or (neo)vim, needing tens of plugins from almost that many different parties always made me feel quite uneasy.

But once helix adds plugins it will be exactly the same because those tens of VSCode plugins provide functionality not present in helix, so will be similarly implemented externally

Re: Notes on switching to Helix from Vim

#50
post #18
post #10

Earlier quoted context omitted.

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…

I genuinely don't like the concept of the keyboard interaction in helix and kakoune, selecting things to modify them. I don't know what it is, but it somehow just feels much less satisfactory to me personally compared to the vim way.

This bugged me for reasons I can’t quite explain. I think it’s that I can write and edit the command before making the modification and the ease of going back and reusing a historic search and replace relatively easily.
Post reply on HN