By josh / May 7, 2013

Ack! Where’d My Sublime Text Shortcuts Go?

Sublime Plugin Fever. If it hasn’t hit you yet, it probably will.

A blog post pops into your news feed: “The Ultimate Clojure-Erlang-Node.js-CoffeeScript Workflow in Sublime Text!” Wow, must read. The author lists off nine awesome plugins that have doubled his productivity, and 30 minutes later you’ve installed and test-driven all of them. They’re everything you’d hoped and dreamed they would be. Happiness!

Two hours roll by, and you’re tweaking a tricky bit of Node.js code. You reach for your favorite keyboard shortcut for some help. Nothing. Fat fingers? Try again. Nope, it’s just not responding.

This is where Sublime Plugin Fever gets ugly: conflicting keyboard shortcuts. There are only so many keys on the keyboard, and sometimes a new plugin will eradicate your favorite bindings. When that happens, it’s a pain to track down which package is causing the conflict.

Fortunately there’s an easy way to tell which plugins are stomping all over your favorite keyboard shortcuts, and ironically it comes in the form of another plugin: FindKeyConflicts.

Once you’ve installed FindKeyConflicts, you can invoke it via the command palette by entering “FindKeyConflicts” to filter down to the relevant commands.

You can instruct FindKeyConflicts to show a list of all available key bindings, or to only enumerate bindings with conflicts. You can also restrict it to limit the conflicts displayed to those involving specific plugins, and you can even configure it to always ignore certain plugins (the Vintage mode plugin might be a good candidate for this).

FindKeyConflicts offers a choice of output formats: It can display bindings in a command palette-like interface that supports filtering and fuzzy matching, or it can spit out a textual representation to a new tab in Sublime. Each shortcut includes a list of the plugins that are vying for the binding.

The only small drawback I’ve noticed when using this plugin is that it takes a minute or so to run when you execute one of the commands, as it has to run through all of the keybinding files for your installed packages. Be patient—it’s worth it!

FindKeyConflicts is available via package control.

To learn more about shortcuts and other Sublime features, check out http://sublimetexttips.com/newsletter.

About the author

josh

Click here to add a comment

Leave a comment: