evil-magit
evil-magit copied to clipboard
Inconsistent keybindings after adding forge support
Forge won't load until user call forge-dispatch
when using use-package
to install forge. So the keybindings are F
for pulling and p
for push.
The problem is
- there's no way to load
forge
by keypresses - keybindings change after load
forge
toF
forforge-dispatch
,P
for pulling, which is inconsistent
How can we disable these "new and improved" forge keybindings?
For anyone landing here from spacemacs you can use the following to keep F
for pull and p
for push.
dotspacemacs-excluded-packages '(forge)
Excluding Forge is not a solution though. The default magit bindings are - F
for magit-pull-popup and P
for push-popup. Honestly it was the stupidest idea to bind pull/push to p/P
in evil mode. Whomever "genius" come up with that decision should've considered huge number of users who already have developed muscle memory for F/p
. That change has been driving me nuts for the past couple of weeks and I kept thinking all this time maybe it just requires some patience and soon I will get used to new keybindings. Alas, because p
and P
are basically the same key - I simply can't do it fast. Now I am never sure what is it: pull or push. Every single time I press that key I have to intently stare at my screen and make sure I'm doing what I am intended to do whereas before I could do things with my eyes closed.
If you're Spacemacs/evil user and just like me frustrated about that change:
(with-eval-after-load 'forge
(evil-magit-define-key evil-magit-state 'magit-mode-map "F" 'magit-pull-popup)
(evil-magit-define-key evil-magit-state 'magit-mode-map "p" 'magit-push-popup)
(evil-magit-define-key evil-magit-state 'magit-mode-map "'" 'forge-dispatch))
Honestly, I'd rather sacrifice submodules popup ('
binds to it) than pull/push keys
@yqrashawn Just load forge automatically when you load magit
. Then the bindings will never be inconsistent.
I reverted the forge changes
@agzam
Honestly it was the stupidest idea to bind pull/push to p/P in evil mode. Whomever "genius" [...]
I think you should calm down and show some respect. If not, don’t use this package and bind the keys yourself or pay someone to do it. Being disrespectful and rude to a maintainer who spends her/his free time developing software is just plain wrong.
You may voice your concerns but damn it, show some respect.
Thank you @justbur, much appreciated. Would it be possible to move evil-magit's submodule binding to make room for the forge binding? Maybe this could be an opt-in flag for now so that it does not disrupt anyone's muscle memory (though I'd imagine submodule stuff is lower impact than push/pull).
@aaronjensen I reopened #54 to discuss further. '
is paired with "
for subtree. I was trying to keep those together.