Remix.run Logo
hou32hou 4 hours ago

> It shows the creator comes from VSCode

Hey, one of the creators here, I actually daily drove Neovim for two years, before switching to Helix for a while, then finally Ki.

> multi-cursor is a useless feature

I was a Neovim macro user until I figured out how insane that was compared to multi-cursor after using Helix.

cassepipe 4 hours ago | parent | next [-]

I still think their point about search and replace still stand though. I make most my edits with regex in neovim nowadays and I feel this is the superior paradigm: You don't even need to get to some specific location in order to edit it. I also almost only use search to move around the file and I can even reuse the searches for substitutions. It makes most vim motions and commands almost useless for me nowadays.

I also feel like macros are a more clunky and error prone way to do what substitutions can do. Almost never use them.

gorjusborg 3 hours ago | parent [-]

Yeah, macros are definitely helpful at times, but not as much as one might think.

I think the same goes for multi-cursor, though.

worksonmine 4 hours ago | parent | prev [-]

> I was a Neovim macro user until I figured out how insane that was compared to multi-cursor after using Helix.

Multi-cursor was the first plugin I installed when I moved from VSCode to Vim because I was used to hitting Ctrl+d to select all words and then replacing. Does Helix do something different?

1) First I reach for <C-v> for visual block selection if everything is neatly aligned.

2) Next choice is %s/search/replace(/c if I need confirm).

3) Macros, and I love it everytime I get to use them. I just record the movements, copy what I need to copy, paste it where I need to paste it, and it's repeatable for every line or block where the *formatting* matches. And this is the important part, the words don't matter. I still feel like a wizard using them.

As far as I understand multi-cursor option 3 is a no-go without macros if the words don't match. But macros don't care as long as the movements translate to the same edits. How does Helix multi-cursor work that make macros insane?

hou32hou 3 hours ago | parent [-]

Sorry for derailing a bit, the search and replace using a query make sense for purly textual (non-syntactic) editing, but if you want to apply consistent syntactic modifications across multiple locations in the same file, you will need both multi-cursor and syntax node selection/navigation/modification.

It's hard to explain unless you actually try Ki, because it is a paradigm shift

worksonmine an hour ago | parent [-]

Or you could use grn for LSP rename[1] in Neovim and it will rename all references across the project. VSCode and other IDEs have a similar feature, but compared to multi-cursor that's cheating.

I'll give you that using the AST to select the references is an interesting addition to multi-cursor, but I still don't see how they would be useful compared to my current workflow.

[1]: https://neovim.io/doc/user/lsp/#vim.lsp.buf.rename()