evil-magit icon indicating copy to clipboard operation
evil-magit copied to clipboard

Inconsistent keybindings after adding forge support

Open yqrashawn opened this issue 5 years ago • 8 comments

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

  1. there's no way to load forge by keypresses
  2. keybindings change after load forge to F for forge-dispatch, P for pulling, which is inconsistent

yqrashawn avatar Jan 23 '19 01:01 yqrashawn

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)

jsab avatar Jan 28 '19 21:01 jsab

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.

agzam avatar Feb 01 '19 00:02 agzam

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

agzam avatar Feb 01 '19 01:02 agzam

@yqrashawn Just load forge automatically when you load magit. Then the bindings will never be inconsistent.

justbur avatar Feb 03 '19 01:02 justbur

I reverted the forge changes

justbur avatar Feb 03 '19 04:02 justbur

@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.

Linuus avatar Feb 03 '19 08:02 Linuus

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 avatar Feb 04 '19 19:02 aaronjensen

@aaronjensen I reopened #54 to discuss further. ' is paired with " for subtree. I was trying to keep those together.

justbur avatar Feb 05 '19 01:02 justbur