godbout / kindaVim.docs

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

Request your motions #139

Open godbout opened 1 year ago

godbout commented 1 year ago
  1. every Vim motion has to be researched and implemented individually
  2. half the Vim doc is wrong or incomplete, and there's many edge cases when using the motions, so research has to be done carefully and thoroughly
  3. i'm lazy ๐Ÿ˜‚๏ธ (or pragmatic). if i don't use something, i don't bother. so mostly the Vim motions implemented are the ones i personally use, and the ones requested

so if you're finding motions missing, just reach out, and they'll go on the top of the priority list. just post them down here.

ylabbe commented 1 year ago

I often use d$

godbout commented 1 year ago

I often use d$

d$ and its synonyms (D and dEnd) are implemented for both the Accessibility Strategy and the Keyboard Strategy.

more info coming soon...

godbout commented 1 year ago

demo on both the AS and the KS:

https://user-images.githubusercontent.com/121373/200562327-b652ad19-7868-4324-b7e4-2897e6fb07f8.mp4

is it possible maybe that you're using kV on an app that is restricted, and you need to add this app to the PG-R Family in the Settings?

checkout the kV menu icon. there's an option to send the current app to The Wizardโ„ข and see if you that app needs some special treatment. if the app is not recognized you can request an investigation and i'll have a look.

tddschn commented 11 months ago

I really miss c-w in insert mode that deletes the word before the cursor, would you consider adding it?

godbout commented 11 months ago

I really miss c-w in insert mode that deletes the word before the cursor, would you consider adding it?

ha. well. took me a while to find the doc for that one (here). also, never built a move that works in INSERT MODE. because basically this is stealing macOS' standard shortcuts and behaviors. (also i personally never use those moves.)

hmm, so, thinking out loud:

  1. is this like db/cb, but when in Insert Mode?
  2. because this is stealing macOS' standard behavior, i'd have to add it as a Setting
  3. also because kV has been built to handle keystrokes ONCE in Normal Mode, that's gonna require quite some changes. so not sure how long it would take
tddschn commented 11 months ago

Thank you for your reply!

  1. is this like db/cb, but when in Insert Mode?

Yes.

  1. because this is stealing macOS' standard behavior, i'd have to add it as a Setting

That'd be awesome!

  1. also because kV has been built to handle keystrokes ONCE in Normal Mode, that's gonna require quite some changes. so not sure how long it would take

I understand that it's not that easy to implement, please take your time - and it's perfectly okay if you decide not to add this feature. :)

godbout commented 11 months ago

i see. got it. thanks for clarifying.

unfortunately i like challenges so... most probably i'm gonna dig deep into it first before refusing or allowing this ๐Ÿ˜‚๏ธ๐Ÿ˜‚๏ธ๐Ÿ˜‚๏ธ

itaysk commented 9 months ago

~ for toggle case

godbout commented 9 months ago

~ for toggle case

https://github.com/godbout/kindaVim.docs/assets/121373/f37ed980-a08d-45ac-a49a-a3f086ef887b

am i missing something? ๐Ÿค”๏ธ

itaysk commented 9 months ago

am I missing something? ๐Ÿค”๏ธ

sorry, I was testing in Safari which apparently isn't not supposed to work OOB. FWIW I think the docs about families and limitation could be improved, but that's outside the scope of this issue. Thanks!

godbout commented 9 months ago

sorry, I was testing in Safari which apparently [isn't not supposed to work OOB (https://github.com/godbout/kindaVim.docs/issues/103).

OH. yes. after answering i wondered also if you were on an app where kV has to use the Keyboard Strategy.

FWIW I think the docs about families and limitation could be improved, but that's outside the scope of this issue. Thanks!

nice. anything specific? i may need a review yes. if you have some details about what you think is not good, or is missing, or is confusing etc. please lemme know. that may help. i'm trying to keep the learning curve of kV as flat as possible, but it's also a project that is abusing the AX Framework to do something it's not supposed to do ๐Ÿ˜‚๏ธ๐Ÿ˜‚๏ธ๐Ÿ˜‚๏ธ and there is indeed limitations. it's a bit hard to explain right from the start, and i'd hoped that people start using kV and realize quite quickly what the strategies and The Wizard are about. but i may be wrong yeah.

prurph commented 9 months ago

I'd love to see the ci", ci', ci[, etc motions!

godbout commented 9 months ago

I'd love to see the ci", ci', ci[, etc motions!

yo!

they're implemented through the Accessibility Strategy, which means for apps where the text is readable/writable. when the text is not readable and/nor writable, kV cannot determine exactly the motion boundaries so it has to go through key remapping instead, and in those cases those moves are not doable.

you'll notice that ciB, cib etc. are also implemented (and also diB, viB, blah blah blah).

hope this clarifies. lemme know if you need more details or explanation. i'll be glad to help.

prurph commented 9 months ago

Thank you for clarifying! I originally misread the very helpful images, interpteting the two red X's to mean not implemented, but now I see those are just indicating count and repeat are not implemented for those (which doesn't make sense for these motions anyway). Sorry for my confusion.

godbout commented 9 months ago

Thank you for clarifying! I originally misread the very helpful images, interpteting the two red X's to mean not implemented, but now I see those are just indicating count and repeat are not implemented for those

yeah, i see where the confusion may come from. only the motions implemented are listed yeah (else there would be too many). but i get you yeah, coming there on the first time it may not be that clear. hmm. may need to think of something to change.

(which doesn't make sense for these motions anyway). Sorry for my confusion.

for which motion in particular are you talking about? ci' etc. have counts in Vim. same for ci[ etc. so not sure which one exactly you're talking about.

prurph commented 9 months ago

for which motion in particular are you talking about? ci' etc. have counts in Vim. same for ci[ etc. so not sure which one exactly you're talking about.

This is news to meโ€”I have never used count with any of the i( or aB motions and I didn't realize you could do that in vim! ๐Ÿ˜Ž

I certainly won't complain that you can't use a count with it in kindaVim though; the singular versions work great and are more than enough for me.

godbout commented 9 months ago

This is news to meโ€”I have never used count with any of the i( or aB motions and I didn't realize you could do that in vim! ๐Ÿ˜Ž

learning every day ๐Ÿ˜Ž๏ธ

I certainly won't complain that you can't use a count with it in kindaVim though; the singular versions work great and are more than enough for me.

yeah. so the idea is that i build kV for myself ๐Ÿคฃ๏ธ๐Ÿคฃ๏ธ๐Ÿคฃ๏ธ if i don't need the move, i don't implement them at first. but if someone requests them, i do. hence the lack of count for those moves. enjoy!