Keybindings

Currently Cursive is distributed without any shortcuts assigned to its actions - it’s too difficult to avoid conflicts with existing actions on all platforms. However you can configure the keybindings in one step using the Settings→Keymap→Clojure Keybindings settings page.

The Settings→Keymap→Clojure Keybindings panel isn’t where you make general changes to the key mappings for actions - you’ll find that in the generic IntelliJ Settings→Keymap panel. The Keybindings panel is for setting a set of key mappings in bulk - it’s something you’ll only do probably once when you’re initially setting Cursive up. For changing mappings for particular actions after that point, you’ll use the Settings→Keymap panel.

If you have not yet configured any keybindings, you probably have one of the default keymaps selected. These cannot be modified, so Cursive will warn you and provide a link to open the Keymaps settings. You can use this page to copy one of the default keymaps, and you can then update this copy with your customisations. On the Mac we recommend the Mac OS X 10.5+ keymap which is what we use, not the old Mac OS X one.

Currently Cursive ships with two sets of default keybindings - the ones that we use here at Cursive and also the standard ones from Emacs. You can select which set you would like to use, and then set them all up at once by pressing Apply. Cursive will automatically select all the actions for which there are no existing bindings - it will not overwrite any you might already have set up, unless you manually select the corresponding checkbox. Actions with a binding which you have customised are marked in blue.

Many of these actions will conflict with existing IntelliJ actions. You can view the conflicts for a particular action by clicking on the relevant “Show” link. You can also remove the bindings for these actions by selecting the checkbox in the “Remove?” column, but this is generally not necessary. The Cursive actions will take priority in Clojure contexts but will not execute in other contexts.