Configure keyboard shortcuts
RubyMine includes several predefined keymaps and lets you customize frequently used shortcuts.
To view the keymap configuration, open the Settings/Preferences dialog Ctrl+Alt+S and select Keymap.
![Keymap settings Keymap settings](https://resources.jetbrains.com/help/img/idea/2021.3/rm_keymap_settings.png)
RubyMine automatically suggests a predefined keymap based on your environment. Make sure that it matches the OS you are using or select the one that matches shortcuts from another IDE or editor you are used to (for example, Eclipse or NetBeans).
You cannot change predefined keymaps. When you modify any shortcut, RubyMine creates a copy of the currently selected keymap, which you can configure. Click to duplicate the selected keymap, rename, remove, or restore it to default values.
The keymap itself is a list of actions with corresponding keyboard and mouse shortcuts and abbreviations. To find an action by name, type it in the search field. If you know the shortcut of an action, click and press the key combination in the Find Shortcut dialog.
When consulting this page and other pages in RubyMine documentation, you can see keyboard shortcuts for the keymap that you use in the IDE — choose it using the selector at the top of a page.
Add a keyboard shortcut
On the Keymap page of the Settings/Preferences dialog Ctrl+Alt+S, right-click an action and select Add Keyboard Shortcut.
In the Keyboard Shortcut dialog, press the necessary key combination.
If necessary, select the Second stroke checkbox to define a complex shortcut with two sequential key combinations.
Click OK to save the shortcut.
The key combination that you press is displayed in the Keyboard Shortcut dialog, as well as a warning if it conflicts with existing shortcuts.
Add a mouse shortcut
On the Keymap page of the Settings/Preferences dialog Ctrl+Alt+S, right-click an action and select Add Mouse Shortcut.
In the Mouse Shortcut dialog, move the mouse pointer to the central area and click or scroll as necessary.
Click OK to save the shortcut.
The performed mouse manipulations are displayed in the Mouse Shortcut dialog, as well as a warning if it conflicts with existing shortcuts.
Add an abbreviation
An abbreviation can be used to quickly find an action without a shortcut. For example, you can press Ctrl+Shift+A and type the name of the Jump to Colors and Fonts action to quickly modify the color and font settings of the element under the current caret position. If you assign an abbreviation for this action (like JCF), you can then type it instead of the full action name.
On the Keymap page of the Settings/Preferences dialog Ctrl+Alt+S, right-click an action and select Add Abbreviation.
In the Abbreviation dialog, type the desired abbreviation and click OK.
Reset action shortcuts to default
If you changed, added, or removed a shortcut for an action, you can reset it to the initial configuration.
On the Keymap page of the Settings/Preferences dialog Ctrl+Alt+S, right-click an action and select Reset Shortcuts.
Location of user-defined keymaps
All user-defined keymaps are stored in separate configuration files under the keymaps subdirectory in the RubyMine configuration directory:
- Syntax
%APPDATA%\JetBrains\<product><version>\keymaps
- Example
C:\Users\JohnS\AppData\Roaming\JetBrains\RubyMine2021.3\keymaps
- Syntax
~/Library/Application Support/JetBrains/<product><version>/keymaps
- Example
~/Library/Application Support/JetBrains/RubyMine2021.3/keymaps
- Syntax
~/.config/JetBrains/<product><version>/keymaps
- Example
~/.config/JetBrains/RubyMine2021.3/keymaps
By default, this directory contains only the default keymaps. When you modify one of them, RubyMine actually creates a child keymap file that contains only the differences relative to the parent keymap. For example, if you modify the default Windows keymap, your custom keymap will be its child. The file will contain only the shortcuts that you added or modified, while all other shortcuts of your custom keymap will be the same as the default Windows keymap.
You can share your custom keymaps with team members or between your IDE instances. Copy the corresponding keymap file and put it in the keymaps directory on another RubyMine installation. Then select the copied keymap on the Keymap settings page.
Conflicts with global OS shortcuts
Predefined keymaps do not cover every possible platform, version, and configuration. Some shortcuts can conflict with global system actions and shortcuts for third-party software. To fix these conflicts, you can reassign or disable the conflicting shortcut.
RubyMine detects conflicts with system shortcuts and notifies you with a popup message:
![Notification on conflicting shortcuts Notification on conflicting shortcuts](https://resources.jetbrains.com/help/img/idea/2021.3/keymap_conflicts_message.png)
Click Modify shortcuts to open the Keymap settings dialog where you can make the necessary adjustments:
![Adjust conflicting shortcuts Adjust conflicting shortcuts](https://resources.jetbrains.com/help/img/idea/2021.3/cl_keymap_conflicts.png)
Here are a few examples of possible system shortcut conflicts with the default keymap in RubyMine. Make sure that function keys are enabled on your system.
Shortcut | System action | RubyMine action |
---|---|---|
⌃Space | Select the previous input source | Basic code completion |
⇧⌘A | Search man Page Index in Terminal | Find Action |
Shortcut | System action | RubyMine action |
---|---|---|
Ctrl+Alt+S | Shade window | Open the Settings dialog |
Ctrl+Alt+L | Lock screen | Reformat Code |
Ctrl+Alt+T | Launch Terminal | Surround With |
Ctrl+Alt+F12 | Open the tty12 virtual console | File path |
Ctrl+Alt+Left Ctrl+Alt+Right | Switch between Workspaces | Undo/redo navigation operations |
Alt+F7 | Move window | Find Usages |
Alt+F8 | Resize window | Evaluate Expression |