All Cloud9 commands and subsequent key bindings can be configured to the liking of a user. These key binding settings, called keymaps are stored in the user settings. A keymap can also be included in a Cloud9 Bundle and distributed them on c9.io. This is especially a good idea if you spent a lot of time configuring your keymaps and there is a group of users that would like to use those settings as well.

Creating a Keymap

A keymap is a simple JSON file that contains an array of objects, listing the names of the commands and associated key combinations. The keymap can be created using the key bindings editor in the preferences or by editing the keymap directly.

Via the User Interface

Click on Cloud9 / Preferences to show the preferences pane and click on Keybindings. Set key bindings by simply double clicking on the 'Keystroke' column of the item you wish to change. You can use the search box in the top to find the command you are looking for.

23242324

Writing a Keymap File Manually

Click on the green link that says your keymap file to open your keymap file. Alternatively use the Cloud9 / Open Your Keymap menu to open the keymap file.

15701570

The keymap format is straight forward. The keys field can contain a string specifying the key binding, an array specifying multiple allowed key bindings or an object specifying the key bindings for different platforms. Use mac for OSX and win for windows and linux.

Adding a Keymap to a Bundle

A bundle can contain one or more keymaps. Each keymap must be stored in a single file with a descriptive name and placed in the keymaps directory.

The filename of your keymap will be used as the caption of the menu item for that keymap.

Suppose your keymap is called eclipse. Your file structure will look something like this:

└─ your.plugin
    ├─ keymaps
    |    └─ eclipse
    ├─ package.json
    └─ README.md