In this section:
- Where the keymaps are stored?
- Configuring keyboard shortcuts and mouse shortcuts
- Searching for actions
PyCharm is a keyboard-centric IDE. Most of the actions (navigation, refactoring, debugging, etc.) can be carried out without using a mouse, which lets dramatically increase coding speed. If you had used another IDE for a while and have memorized your favorite keyboard shortcuts, you can use them all in PyCharm.
PyCharm completely suits your shortcut habits by supporting customizable keymaps. A keymap is a set of keyboard and mouse shortcuts that invoke different actions - menu commands, editor operations, etc. PyCharm comes with a set of pre-configured keymaps.
Pre-configured keymaps are not editable. If you need to change some shortcuts, the copy of the current selected pre-defined keymap is created automatically:
Where the keymaps are stored?
All user-defined keymaps are stored in separate configuration files under the config/keymaps subdirectory in the PyCharm profile directory:
- Windows and *NIX systems: <User home>/.PyCharm <xx>/config/keymaps
- Macintosh systems: ~/Library/Preferences/.PyCharm <xx>/keymaps/
Each keymap file contains only differences between the current and the parent keymaps.
Configuring keyboard shortcuts and mouse shortcuts
- Open the Settings dialog and click Keymap.
- 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.
- In the content pane of actions, select the desired action.
Configure keyboard shortcuts. To do that, follow these steps:
- Click on the toolbar, or right-click the selected action, and choose Add Keyboard Shortcut. Enter Keyboard Shortcut dialog box 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.
- 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 any keystroke is interpreted as a shortcut.
Configure mouse shortcuts. To do that, follow these steps:
- Click on the toolbar, or right-click the selected action, and choose Add Mouse Shortcut on the context menu, if you need to bind an action to a mouse click. Enter Mouse Shortcut dialog box opens.
- In the Click Count section, click a radio button to choose a Single Click or Double Click.
- 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.
- Click OK or Press EnterEnterEnterEnterEnterEnterEnterEnterEnterEnterEnter 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.
Searching for actions
Use the Keymap page to search for certain actions by name, of by shortcut.
To find an action by name, type this name in the search field . As you type, the content pane shows actions with the matching names.
To find an action by shortcut, click . In the Filter Settings dialog box, start pressing keys. The content pane shows only the actions with the matching shortcuts.
Click your mouse somewhere outside the Filter Settings dialog box to close it. Avoid using keys, since any keystroke is interpreted as a shortcut.