So, this is amazing, hooray!
But, I’d like to learn about this crazy sublime key bind magic, and I’m having a tough time understanding the logic that makes this work.
Is it the “match_all” that makes it also work when the selection is empty?
I will also take this time to point out that you may want to not use “i” to bind that, as “i” in the context of a visual selection (in vim and vintage) is actually for selecting the inside of some thing (“a” for tag, “b” for parens, “B” for brackets, and all those keys like ", (, {, , etc.), which is highly useful.
Since what we’re looking at here is switching from vim-behavior to sublime-behavior (transitioning from the vintage visual mode to insert mode while keeping the selection alive) it would make more sense to bind it to another key.
I wonder what a good key for that would be. Hmmm. Well, technically anything other than “a” or “i” should be good because of how ST binds expose more State Machine guts than Vim does, and the state here is “vi_can_enter_text_object”.
Sublime binds can be made to work much more precisely because of this.
I’m going to use “e” for “edit”.