godbout / kindaVim.docs

Ultimate Vim Mode for macOS
https://kindavim.app
636 stars 4 forks source link

Please add new motions: gv & gM #252

Open andrew528i opened 3 weeks ago

andrew528i commented 3 weeks ago

Hello, your app is incredible, it would be super cool to have these motions on top of existing ones as well: gv - select previously selected text gM - go to the middle of the line, sometimes can be extremely helpful, when you can't jump to char via f because of duplicates.

Also it would be very useful to have this vim aciton ~ / g~ / gu / gU - it allows to manipulate case of selected string

godbout commented 3 weeks ago

FINALLY SOME NEW MOVES THANK YOU!!!

definitely excited about adding new motions to kV. that being said, my first thoughts about those:

gv - select previously selected text

that'll required, i think, adding some sort of "state" in kV's engine. so that'd be good, but that'd definitely be a big new feature, not just a motion that can be built on the current's kV foundation. definitely wanna improve kV and make it the best Vim experience over the whole macOS, so this is something that should be done. all i'm saying is that this will require quite some time i think. need to dig into expanding the engine, with tests etc. will dig and update, but don't expect something soon

gM - go to the middle of the line, sometimes can be extremely helpful, when you can't jump to char via f because of duplicates.

with the proper AX data (hence when kV can use the Accessibility Strategy) that should be quite doable quickly. nice.

Also i would be very useful to have this vim aciton ~

so i guess you mean with the tildeop option? coz currently ~ works in the Accessibility Strategy, but as the notildeop option. adding ~ with the tildeop would require 1) adding some sort of config where users can decide how they want the ~ to operate 2) build all the motions individually (like ~w, ~b, etc. etc.). it's a little what's currently happening for the .. point 2 would take time but feasible, would just need to know what motions are your priority and i'd do them first. issue is with 1) and adding some sort of proper config, although could be a simple checkbox in the Settings to start with?

/ g~

hmm actually isn't that the same as just the ~ when the tildeop is set? 🤔️ so maybe it doesn't make sense to have the tildeop config. one could use ~ or g~ depending on one's need? not sure about people's habits. as long as there's no config/vimrc in kV, it's a little tricky.

/ gu / gU - it allows to manipulate case of selected string

same as a little above, second point. will need to build the moves individually. but feasible. could also add guu/gugu and gUU/gUgU. those one would be one shot kinda moves.