This an old thread, but as more and more users are migrating to Atom, I wanted to add a bit of clarity to this issue.
@postcasio It’s best to copy the default selectors for keybindings exactly if you want to replace them, to ensure you always have at least equal specificity. Since user keybindings are loaded after package bindings, as long as you have the same selector you’ll always win over the default.
To those who are still confused (like I was - till I figured it out), I want to explain this process more clearly.
Let’s say, two packages (A and B) are having a keybinding conflict with CTRL-E.
Key Binding Resolver
The Key Binding Resolver pane displays key binding conflicts. To open it, hit CTRL + .
We want to see which of the above two is winning. Now, put the cursor in the editing area (buffer) and hit CTRL-E
The Key Binding Resolver will highlight the winning package. (The first column shows the command that is getting executed.) In our case let’s assume Package B has won. However, let’s say you want Package A to win the Keybinding. Press CTRL+. again to close Keybinding Resolver pane.
Settings window - Keybinding Menu
- open Settings window (CTRL+,)
- and select Keybindings Menu.
- In the ‘Search keybindings’ field, enter CTRL-E.
All packages that use CTRL-E keybinding will be listed.
- Locate package B (the winning package), and click on the Clipboard icon under Keystroke column. This will copy the keybinding and the command that is being executed by package B into the clipboard.
- Then click on ‘your keymap file’ link. Atom will open the keymap.cson file.
- Now, paste the copied text in an empty line. Then, delete the unwanted command. (The right-side part only)
- Now, go back to Settings tab, locate package A in the keybinding list and copy its command shown under the column Command.
- Go back to the keymap.cson file.
- Paste the copied command in the place of old command. Please remember the command must be wrapped in single quotes. Save keymap.cson.
- Press alt+ctrl+r to reload Atom.
- From now on, when you press CTRL-E, package A’s command will be executed.
- To check, use the Key Binding Resolver.
Hope this helps and my apologies if I was too elaborate. Reading this will also help.
In fact the instruction by @postcasio is very important and should be part of Atom’s documentation on resolving keybinding conflicts as it will help users to clearly solve keybinding conflict.