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.

Fair enough, I definitely made some assumptions there, but it sure sounds the same based on the description. I guess `%` selects more than just the token?

But ya, I'm way too invested in Vim to bother with Helix. I have years of scripts and plugins I've written. I can't even be bothered to switch to nvim (I tried once and was not fun).

“%” is a range operator standing for the entire buffer; so :%s just means to start a substitution on the whole buffer. Neovim will highlight what was previously searched for, in this case matched by the *, but that won’t actually affect the search command.

The way :s works in Neovim looks like multiple cursors to me, but I’m not familiar enough with Helix to know what the difference is.

Ya, yes sorry, well aware of what `%` is, I was leaving out a lot of context there. Of course, as it turns out I was thinking in terms of my own mappings and not even then, I'm not sure why I thought `` came into play because my mapping is `gysiw<space>` (`w` can be replaced with other text objects) which populates the commandline with `%s/\<'.expand('<cword>').'\>//g` (and moves the cursor left twice). I just press `` a lot, sometimes even before replacing because I have it remapped to not autojump to the next match and rather `set hlsearch`. So ya, I'm all kinds of wrong bitten by my own config, lol.

Also :s without a range is not going to work like multiple cursor as it only acts on the current line, unless neovim has changed this for some reason. But again, I was assuming //g was a given.