Share/Browse/optimize Keybindings with others and discover/install related packages


#1

I hope i didnt miss anything, but i couldnt find a package that does help me to manage keybindings nicely

I found the packages:

Problems:

  • The keybinding-cheatsheet doesnt show zero keybindings when i activate the first plugin.
  • Neither does “Settings -> Keybindings”
  • If I activate the disable, not all keybindings stop to work, but many
  • When I add keybindings in my “custom keybindings”, they do not work too :confused:

Wish

  1. I would really really like to see a better management package for keybindings, maybe to replace the one under “Settings -> Keybindings” which i could also easily open via hotkey and where i can enable/disable/re-assign my hotkeys easily by clicking and either “pressing the new hotkey combination” or by “writing it out” and maybe group them in categories that make sense to me, so that i dont stare at a list of thousands of keybindings (maybe the css selectors could help here)

  2. I would also really like to be able to share my custom keybindings (which might even somehow link to the packages i’m using) AND browse those shared by others so that i can easily install them with the related packages to evolve my personal keybindings

I feel the whole keybindings thing should be IN THE CENTER of how people discover and decide for packages, so that they can optimize the “functionality” they can control using their keyboard or whatever input devices they have.


Keybinding Conventions for Packages
#2

If you’ve got specific ideas on how to make the key binding screens better, I’m sure that everyone would appreciate some input. We talked a bit about this at CodeConf and everyone agreed that it could be better.

I think this is going to be the most challenging part. What makes sense to one person often does not to another.

There’s nothing stopping you from sharing your keymap.cson. For example, here are mine:

This part I disagree with. Let’s say that Jane is a Vim convert and Jackie is someone coming from Emacs. They both want to install my amazing-happy-fun-time package. What key bindings should I add to my package? Standard-style key bindings? Vim style? Emacs style? Or should I simply not add any key bindings at all to avoid conflicting with any keys that people have already installed?

See this topic (among others) for some background:


#3

Yes, what makes sense to one person does not make sense to another, thats why those “groupings” should not change the behavior of the hotkeys. The hotkeys simply work and depend on some packages.

The grouping is more personal and helps me to keep an overview over my hotkeys and how i think about them.
I am pretty sure, that everyone groups them differently - and if keybindings become “shareable”, i would be very interested to learn how OTHERS structure their keybindings into categories, just so that i can learn how they think about it and be inspired. Of course, most of the time, I will just cherry pick some keybindings into my own keybindings and group them into the categories that make sense to me.

Regarding the “sharing” of “keymap.cson”, if there was a standard way (maybe even an auto-sync of someones keybindings with ones profile) packages can be written to facilitate exchange of ideas around keybindings and charts of trendy keybindings can be shown

This part I disagree with. Let’s say that Jane is a Vim convert and Jackie is someone coming from Emacs. They both want to install my amazing-happy-fun-time package. What key bindings should I add to my package? Standard-style key bindings? Vim style? Emacs style? Or should I simply not add any key bindings at all to avoid conflicting with any keys that people have already installed?

Default Keybindings are good for beginners - and should not matter once you start taking it more serious.
Once people want to take it more serious, they should deactivate all keybindings by default (see packages linked above) and start adding there custom ones.
If they dont want that, they can maybe “autosearch” for a published keybinding file, that matches their keybindings-package-combinations as close as possible and use that as a starting point when trying to improve keybindings.

That way, keybindings can evolve over time in the atom community and maybe there will be some “vim/emacs” cross-over-styles with some “standard keys” mixed in.

Comments in published “keymap.cson” files and maybe the categories might help to explain “THE CONCEPT” behind a certain set of keybindings.


#4

Also in many computer games in which you can edit your keybindings, they show an image of a virtual keyboard which highlight the keybindings you choose