Live data from Hacker News

Notes on switching to Helix from Vim

jvns.ca

111–120 of 242 posts

Re: Notes on switching to Helix from Vim

#111
post #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” a…

> presumably you would've been able to replicate it completely in the first X years of using vim, and then there is no hell anymore?

I agree with this, but being able to ssh into a server and just grab Helix instead of copying over my Vim config and whatever else it depends on is really nice. Makes your dev env feel a lot more portable (although also more barebones than a crazy Vim config)

Re: Notes on switching to Helix from Vim

#112

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…

That is not the same as helix multiple selections. I suggest trying our helix to really understand.

I really liked helix, but the problem is that pretty much everything I use is setup using Vim bindings (shell, browser, ideavim,...) so switching to helix concept of editing was different enough to require effort, but close enough that it screwed up all my other muscle memory.

Re: Notes on switching to Helix from Vim

#113
post #66

The one time I tried Helix, I could find no way to switch from noun-verb syntax to vim's noun-verb syntax, is it possible now?

Not really, there is a config and some patches (helix-Vim IIRC) that gets you close, but it is still different. It also feels like you're throwing out helix main selling point.

Re: Notes on switching to Helix from Vim

#114
post #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” a…

I've been using Helix daily for about three years, and it has crashed about five times. It is very, very rare for it to SEGFAULT.

> every week or so there’s a segfault and the editor crashes.

Re: Notes on switching to Helix from Vim

#115

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)?

Cmd + click places multiple carets on macOS. Apparently – I never touch the mouse when I’m editing in Helix. I don’t know which modifier it is on other platforms. I’m not sure if replicating Sublime’s Ctrl + D is possible or not, but there are other ways to achieve every use case for it I can immediately think of. e.g. I think I’d typically be doing ` h` to select every instance of the symbol under the cursor, or usi…

There might be a better way but this bind works well for me in normal and select modes.

  C-n = ["search_selection", "extend_search_next"]

Re: Notes on switching to Helix from Vim

#116
Funny I just updated my neovim lsp configuration yesterday to get rid of mason and have more control over my tools and found neovim's new vim.lsp.config API really easy to use.

fzf-lua (and several other picker plugins) provide really powerful features and ux out of the box.

I understand that configuration can seem overwhelming but investing a few hours will be really rewarding. I love (neo)vim

Re: Notes on switching to Helix from Vim

#117
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…

I think with Cursor choosing it as well, this will only continue to prevail. Professionally I've had to standardize on VSCode due to Cursor (there are a few plugins for Neovim but the experience is undoubtedly better in the first-class tool).

By the way - I actually generally think this is a good thing that companies standardize on something. I might not like the choice they standardize on, but the barrier to entry for new engineers is already high, so having an easy-to-use and familiar development setup that "just works" from the start is pretty reasonable for large companies.

Re: Notes on switching to Helix from Vim

#118

Earlier quoted context omitted.

I think you completely missed the context for the configuration issues in vim: 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.

It might have been a bit harder in the past, but with recent versions of neovim (>=0.11) it's less than 20 lines of configuration. I have quite a few keybindings to jump back and forth through errors and the default keybidings already include things like renaming, go to definition or listing references. I'd be more than happy to help you configuring it to your needs.

FWIW, in my (emacs, C++) experience, writing the editor config is a relatively minor part of the yak-shaving required to have jump-to-definition on an actual work codebase.

I had to get my project to emit compile_commands.json, get clangd, figure out which things about our build process clangd was not understanding from compile_commands.json and add them in .clangd. All to achieve a level of functionality significantly jankier than just opening the damn .sln file in Visual Studio.

Once I did all that it was, as you say, very little actual stuff written in my .spacemacs. And probably could have been less if I had felt like figuring out how to get my windows emacs to find clangd on the path instead of giving up and just specifying full paths to everything.

I only persevered because emacs (unlike Visual Studio) gives you all the necessary access to its internals to build LLM Tools around its LSP functionality.

Re: Notes on switching to Helix from Vim

#119
post #55

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

> requires manual construction from a sequence of commands

Right, I saw some people share some snippets here before. But none of them act like Sublime does. I can't double-click a token and Ctrl + D to select next instances of it in my file.

Re: Notes on switching to Helix from Vim

#120
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…

I'm trying to be careful to distinguish that this particular part seems odd to me, specifically because of Julia's other posts in which it seems their skill/knowledge is not much of a question.

If someone is new to vim, I 100% agree that it's easier to get started with VSCode/Jetbrains/etc.

But if someone has been using vim for a long time as their default editor, especially Neovim, and when LSP support came to Neovim about 4 years ago [0], it comes across as someone who isn't a power user if they didn't end up installing it. Which is fine, but the community has also started to build reasonable "batteries-included" distributions of Neovim (LunarVim is a great example) if someone didn't want to figure it out themselves but still wanted to use it.

It's one thing if someone just doesn't love the experience Neovim brings to them. That's reasonable, because it's subjective. But it is odd to use a tool for so long and not further investigate what it offers to fit your needs. Before LSP, there were libraries (CoC for example). And if it was never satisfactory, why not look at alternative editors which had their own flavors of indexing/code navigation?

--

[0]: (https://github.com/neovim/neovim/commit/a5ac2f45ff84a688a094...)

Post reply on HN