IntelliJ IDEA 2017.2 Help

Configuring Keyboard Shortcuts

On this page:

IntelliJ IDEA is a keyboard-centric IDE. Most of its actions (navigation, refactoring, debugging, etc.) can be carried out without using a mouse, which lets dramatically increase coding speed.

Predefined keymaps

If you have used another IDE for a while and memorized your favorite keyboard shortcuts, you can choose one of the IntelliJ IDEA's predefined keymaps that matches key bindings of that IDE.

You can choose the keymap either on the first start of IntelliJ IDEA or anytime later on the Keymap page of IntelliJ IDEA settings (Ctrl+Alt+S).

If you are starting from scratch, without experience in other IDEs, we recommend using the Default keymap.

Configuring keyboard shortcuts and mouse shortcuts

Predefined keymaps are not editable. When you add or modify any shortcut, a copy of the currently selected predefined keymap is created automatically.

/help/img/idea/2017.2/keymap_copy.png

To configure keyboard shortcuts and mouse shortcuts

  1. Select one of the pre-configured Keymaps, which you want to use as the base for the new one, and click Copy. Accept the default name, or change it as required.
  2. In the content pane of actions, select the desired action.
    To find an action by name, type the name in the search field /help/img/idea/2017.2/search_field.png. As you type, the content pane shows actions with the matching names.
    To find an action by shortcut, click /help/img/idea/2017.2/find2.png, then, when the Find Shortcut dialog opens, start pressing keys. The content pane will show only the actions with the matching shortcuts. Click your mouse somewhere outside the Find Shortcut dialog to close it.
  3. Configure keyboard shortcuts. To do that, follow these steps:
    1. Right-click the selected action, and choose Add Keyboard Shortcut.
    2. In the dialog that opens, press the keys to be used as shortcuts. The keystrokes are immediately reflected in the First Stroke field. Optionally, select the check box next to Second Stroke and press keys to be used as alternative keyboard shortcuts.
      As you press the keys, the Preview field displays the suggested combination of keystrokes, and the Conflicts field displays warnings, if some of the keystrokes are already assigned to the other actions.
    3. Click OK with the mouse pointer to create a shortcut and bind it with an action.
      It is important to use the mouse pointer, because when you press any keystroke while this dialog is open, the keystroke is interpreted as the shortcut.
  4. Configure mouse shortcuts. To do that, follow these steps:
    1. Right-click the selected action, and choose Add Mouse Shortcut on the context menu. Enter Mouse Shortcut dialog box opens.
    2. In the Click Count section, click a radio button to choose a Single Click or Double Click.
    3. Hover your mouse pointer over the section Click Pad and click the desired mouse button. Use Alt , Ctrl , and Shift modifiers for diversity. As you click, the Shortcut Preview field displays the suggested shortcut, and the Conflicts field displays warnings, if some of the shortcuts are already assigned to the other actions.
    4. Click OK or Press Enter to create a shortcut and bind it with an action.

If a conflict is reported, a warning message appears. You can choose one of the following options:

  • Remove to remove all other bindings and preserve the new one.
  • Leave to preserve all bindings including the new one.
  • Cancel to return to the keymap definition.

Although you can ignore conflict and bind a shortcut with several actions, it is strictly recommended to avoid binding two actions with the same shortcut, because the order of performing such actions is not defined.

Where IntelliJ IDEA stores user-defined keymaps?

All user-defined keymaps are stored in separate configuration files under the config/keymaps subdirectory in the IntelliJ IDEA profile directory:

  • Windows and *NIX systems: <User home>/.IntelliJ IDEA<xx>/config/keymaps
  • macOS: ~/Library/Preferences/IntelliJ IDEA<xx>/keymaps/

Each keymap file contains only differences between the current and the parent keymaps.

Last modified: 30 August 2017

See Also