Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: different hotkey to enable kV #216

Open
itaysk opened this issue Dec 30, 2023 · 9 comments
Open

Feature request: different hotkey to enable kV #216

itaysk opened this issue Dec 30, 2023 · 9 comments

Comments

@itaysk
Copy link

itaysk commented Dec 30, 2023

I'm struggling to incorporate kV into my regular use of mac apps: My go to config was to use Esc, just like in Vim, but this is a big problem as I tend to use Esc a lot (more than I realized, for example to focus out of text boxes, or to close dialogues). In this case kV hijacks Esc and instead of doing the desired action it's doing it's thing putting me in normal mode which point I frantically keep pounding Esc until what I expected happens. I tried to remap kV to another hotkey, which avoids this problem but after I start typing I keep trying Esc to go to normal mode because I'm so used to it.
Two very common examples from my day is Raycast, which uses esc to be back (or up) in the extension hierarchy. There are many more this is just one.
I wanted to make a suggestion, perhaps it makes sense for others as well:
Allow us to explicitly and intentionally enable kV with a custom hotkey (not Esc). After kV is enabled, I can use Esc to go to normal mode, and i for insert like I'm used to from vim. Once I'm don't typing there I would disable kV with the same custom hotkey until I need it again.

This is related to (and potential solution to) these issues:
#196
#206
#205
#180

@godbout
Copy link
Owner

godbout commented Dec 30, 2023

sorry, gonna have to split this one into multiple parts coz i don't get it:

I'm struggling to incorporate kV into my regular use of mac apps: My go to config was to use Esc, just like in Vim, but this is a big problem as I tend to use Esc a lot (more than I realized, for example to focus out of text boxes, or to close dialogues). In this case kV hijacks Esc and instead of doing the desired action it's doing it's thing putting me in normal mode which point I frantically keep pounding Esc until what I expected happens.

yeah if you decide to use esc to enter Normal Mode obviously macOS doesn't respond the same anymore. which is why there's a Setting that allows you to decide how you replace the standard macOS esc:

Screenshot 2023-12-30 at 21 09 04

that doesn't help? you could focus out of text boxes or close dialogues with your new chosen esc hotkey, like command esc for example.

Two very common examples from my day is Raycast, which uses esc to be back (or up) in the extension hierarchy. There are many more this is just one.

ok Raycast is gonna be annoying if you're trying to get up the hierarchy yeah, but for other apps double esc is too much? (if you keep double esc as the default replacement for the standard macOS esc)

Allow us to explicitly and intentionally enable kV with a custom hotkey (not Esc). After kV is enabled, I can use Esc to go to normal mode, and i for insert like I'm used to from vim. Once I'm don't typing there I would disable kV with the same custom hotkey until I need it again.

took me a while to understand that one. basically you'd like a Master Switch right? if the Master Switch is OFF, then kV backs off all the time. only when you turn the Master Switch ON then kV wakes up and grabs keys. am i getting this right?

@itaysk
Copy link
Author

itaysk commented Dec 31, 2023

thanks for taking the time to consider this.

basically you'd like a Master Switch right?

exactly

If my use case is peculiar feel free to close this, but what I feel is that I don't want to change my patterns using esc everywhere (browser, raycast, many apps) since esc is so fundamental paradigm, but also I don't want to change my patterns using esc in vim. since there are two conflicting uses of the same key, my solution was to make some other key switch between the two conflicting modes. this way, I don't need to unlearn any of my existing patterns which is hard, I just need to learn one new pattern (to enable kV when I need it) which is easier.
So yes a master on/off switch for kV will be very nice.

@godbout
Copy link
Owner

godbout commented Dec 31, 2023

exactly

ok got it 👌️

If my use case is peculiar feel free to close this

i think a Master Switch may make sense. the issue is gonna be more finding good UX and UI not to confuse people. the more options, the more confusing it's gonna get. also clearly not everyone is gonna want a Master Switch. i think most people wanna kV to just work out of the box, with as fewest options to

but what I feel is that I don't want to change my patterns using esc everywhere (browser, raycast, many apps) since esc is so fundamental paradigm, but also I don't want to change my patterns using esc in vim. since there are two conflicting uses of the same key, my solution was to make some other key switch between the two conflicting modes. this way, I don't need to unlearn any of my existing patterns which is hard, I just need to learn one new pattern (to enable kV when I need it) which is easier. So yes a master on/off switch for kV will be very nice.

yeah, understood. but that means you're gonna need two more steps in your workflow: pressing that new hotkey to "activate" kV, and pressing that hotkey again to "deactivate".

@godbout
Copy link
Owner

godbout commented Dec 31, 2024

@itaysk still using kV? and still interested in that? gathering info to compute in which direction i'm going and what i have to do to get this implemented and still make sense overall in kV. thanks.

@itaysk
Copy link
Author

itaysk commented Dec 31, 2024

I no longer use kV :\ I liked the direction but it just isn't for me. Best of luck wit it!

@godbout
Copy link
Owner

godbout commented Jan 1, 2025

@itaysk no worries. thanks a lot for taking the time to answer!

@godbout
Copy link
Owner

godbout commented Jan 1, 2025

gonna keep this open because it's been asked a couple of times and i'm still considering implementing it

@miiraheart
Copy link

@itaysk still using kV? and still interested in that? gathering info to compute in which direction i'm going and what i have to do to get this implemented and still make sense overall in kV. thanks.

would love to have it though, I just installed kV and faced the same issue as I am a havr Raycast user and I user esc and double escape for other apps.

@godbout
Copy link
Owner

godbout commented Jan 10, 2025

would love to have it though, I just installed kV and faced the same issue as I am a havr Raycast user and I user esc and double escape for other apps.

definitely not saying no which is why i kept all those related issues open, but i really, REALLY have a hard time understanding the workflow. can you enlighten me? like:

  1. if you use escape to enter Normal Mode but don't wanna use the double escape, no other option in the Settings work out for you?
Screenshot 2025-01-10 at 16 12 22
  1. kV is supposed to be used constantly, so how does a Master Switch helps for like, saying, Raycast? every time before and after using Raycast you would switch the Master Switch ON and OFF?
  2. the Master Switch would be a custom keyboard shortcut, so why not entering Normal Mode with the keyboard shortcut you would use for the Master Switch? currently you could for example enter Normal Mode with ^[. let's say you set this to toggle the Master Switch, then you'd have to do ^[ AND THEN escape. how is this better than just doing ^[. i don't get it. there has to be something that i'm missing because this is being requested by a couple of people, but i can't feel it. my guess is that those people use kV only in certain situations? like maybe only on some apps rather than every time everywhere in the UI etc. etc.? i'm trying to wrap my head around this but with my personal usage of kV, a Master Switch makes every workflow worse. so i need help understanding how this would make kV better. (because it's gonna be a lot of work and tests to integrate that, so i wanna make sure i know where i'm going.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants