Tip
๐ Hello from April 2024! I use this keymap every single day. Please take the lack of updates as a testament to the stability of keyboard workflows despite recent UI overhauls across the JetBrains portfolio. If you notice any issues, please let me know.
This repo converts the macOS keymap (previously known as Mac OS X 10.5+) in JetBrains IDEs from macOS-specific shortcuts to shortcuts without meta
(i.e., the Command/splat/cloverleaf interchange from hell).
While some keybindings are close to their original, others have more modifier keys or different bindings altogether to avoid conflicts.
Follow JetBrains' guide for using Gradle for plugin development.
Install the plugin from the plugin marketplace or grab the zip file from the latest release and install manually.
For release tasks, the INTELLIJ_PUBLISH_TOKEN
environment variable should be available.
If you notice any issues, please report them here!
Actions | macOS Keybindings | New Keybindings |
---|---|---|
ActivateProjectToolWindow | Command-1 |
Alt-1 |
ActivateFavoritesToolWindow | Command-2 |
Alt-2 |
ActivateFindToolWindow | Command-3 |
Alt-3 |
ActivateRunToolWindow | Command-4 |
Alt-4 |
ActivateDebugToolWindow | Command-5 |
Alt-5 |
ActivateProblemsViewToolWindow | Command-6 |
Alt-6 |
ActivateStructureToolWindow | Command-7 |
Alt-7 |
ActivateServicesToolWindow | Command-8 |
Alt-8 |
ActivateVersionControlToolWindow | Command-9 |
Alt-9 |
ActivateCommitToolWindow | Command-0 |
Alt-0 |
Back | Command-[ Command-Alt-Left |
Control-[ |
ChangesView.Move | Command-Shift-M |
Control-Shift-M |
ChooseDebugConfiguration | Control-Alt-D |
Control-Alt-Shift-D |
ChooseRunConfiguration | Control-Alt-R |
Control-Alt-Shift-R |
CloseContent | Command-W |
Control-W |
ContextHelp | Command-Shift-F1 |
Control-Shift-F1 |
Debug | Control-D |
Control-Alt-D |
Diff.NextChange | Command-Shift-] Control-Right |
Control-Shift-] |
Diff.PrevChange | Command-Shift-[ Control-Left |
Control-Shift-[ |
EditorCodeBlockEnd | Command-Alt-] |
Control-Alt-] |
EditorCodeBlockEndWithSelection | Command-Alt-Shift-] |
Control-Alt-Shift-] |
EditorCodeBlockStart | Command-Alt-[ |
Control-Alt-[ |
EditorCodeBlockStartWithSelection | Command-Alt-Shift-[ |
Control-Alt-Shift-[ |
EditorDeleteLine | Command-Backspace |
Control-Backspace |
EditorLineEnd | Command-Right |
Control-Right |
EditorLineEndWithSelection | Command-Shift-Right |
Control-Shift-End |
EditorLineStart | Command-Left |
Control-Left |
EditorLineStartWithSelection | Command-Shift-Left |
Control-Shift-Home |
EditorLookupDown | Control-Down |
Control-Alt-Down |
EditorLookupUp | Control-Up |
Control-Alt-Up |
EditorMatchBrace | Control-M |
Control-Alt-M |
EditorToggleColumnMode | Command-Shift-8 |
Control-Alt-Shift-8 |
EditSource | Command-Down |
Control-Down |
EmojiAndSymbols | Command-Control-Space |
Control-Alt-Shift-Space |
Exit | Command-Q |
Control-Q |
ExpandAllToLevel1 | Command-Alt-NumPad[*] + 1 |
Control-Alt-NumPad[*] + 1 |
ExpandAllToLevel2 | Command-Alt-NumPad[*] + 2 |
Control-Alt-NumPad[*] + 2 |
ExpandAllToLevel3 | Command-Alt-NumPad[*] + 3 |
Control-Alt-NumPad[*] + 3 |
ExpandAllToLevel4 | Command-Alt-NumPad[*] + 4 |
Control-Alt-NumPad[*] + 4 |
ExpandAllToLevel5 | Command-Alt-NumPad[*] + 5 |
Control-Alt-NumPad[*] + 5 |
ExportToTextFile | Control-O |
Control-Shift-O |
FileChooser.TogglePathShowing | Command-P |
Control-P |
Find | Command-F |
Control-F |
FindInPath | Command-Shift-F |
Control-Shift-F |
FindNext | Command-G |
Control-Alt-G |
FindPrevious | Command-Shift-G |
Alt-Shift-G |
Forward | Command-] Command-Alt-Right |
Control-] |
Generate | Command-N |
Control-N |
GotoChangedFile | Command-O |
Control-O |
GotoClass | Command-O |
Control-O |
GotoFile | Command-Shift-O |
Control-Shift-O |
GotoLine | Command-L |
Control-L |
GotoRelated | Control-Meta-Up |
Control-Alt-Home |
GotoSymbol | Command-Alt-O |
Control-Alt-O |
GotoTypeDeclaration | Command-Shift-B Control-Shift-B Command-Shift-button1 |
Control-Shift-B Control-Shift-button |
MethodDown | Control-Down |
Control-Alt-Down |
MethodUp | Control-Up |
Control-Alt-Up |
MinimizeCurrentWindow | Command-M |
Control-M |
NewElement | Command-N |
Control-N |
NewScratchFile | Command-Shift-N |
Control-Shift-N |
NextEditorTab | Control-Shift-Right |
Control-Alt-Shift-Right |
NextProjectWindow | Command-Alt-` |
Control-Alt-` |
NextSplitter | Alt-Tab |
Control-Alt-Left |
NextTab | Command-Shift-] Control-Right |
Control-Shift-] |
OptimizeImports | Control-Alt-O |
Control-Alt-Shift-O |
OverrideMethods | Control-O |
Alt-Shift-O |
PreviousEditorTab | Control-Shift-Left |
Control-Alt-Shift-Left |
PreviousProjectWindow | Command-Alt-Shift-` |
Control-Alt-Shift-` |
PreviousSplitter | Alt-Shift-Tab |
Control-Alt-Right |
PreviousTab | Command-Shift-[ Control-Left |
Control-Shift-[ |
QuickImplementations | Command-Y |
Control-Y |
Refresh | Command-R |
Control-R Control-F5 |
ReplaceInPath | Command-Shift-R |
Control-Shift-R |
Rerun | Command-R |
Control-R |
Run | Control-R |
Control-Alt-R |
RunClass | Control-Shift-R |
Control-Shift-C |
ServiceView.ShowServices | Command-Shift-T |
Control-Shift-T |
SafeDelete | Command-Delete |
Control-Delete |
SearchEverywhere.NavigateToNextGroup | Command-Down |
Control-Down |
SearchEverywhere.NavigateToPrevGroup | Command-Up |
Control-Up |
SelectAllOccurrences | Command-Control-G |
Control-Alt-Shift-G |
ShowBookmarks | Command-F3 |
Control-F3 |
ShowContent | None | Control-Shift-Down |
ShowNavBar | Command-Up |
Control-Up |
ShowProjectStructureSettings | Command-; |
Control-; |
ShowSettings | Command-, |
Control-, |
TestGestureAction | Command-1 |
Control-Alt-1 |
ToggleFullScreen | Command-Control-F |
Control-Alt-Shift-F |
Undo | Command-Z |
Control-Z |
Vcs.MoveChangedLinesToChangelist | Command-Shift-M |
Control-Shift-M |
Vcs.QuickListPopupAction | Control-V |
Control-Shift-V |
Vcs.ShowMessageHistory | Command-E |
Control-E |
Vcs.UpdateProject | Command-T |
Control-Alt-Shift-T |
VcsHistory.ShowAllAffected | Command-Control-A |
Control-Alt-A |
ZoomCurrentWindow | Command-Control-= |
Control-= |
Actions | macOS Keybindings | Alternatives |
---|---|---|
$Delete | Command-Backspace |
Just backspace |
Back | Command-Alt-Left |
Control-[ |
CommentByBlockComment | Command-Alt-/ Command-Shift-/ |
Control-Shift-/ |
EditorDown | Control-N |
Down |
EditorLeft | Control-B |
Left |
EditorLineEnd | Control-E |
Control-Right End |
EditorLineStart | Control-A |
Control-Left Home |
EditorPreviousWord | Control-Alt-B |
Alt-Left |
EditorPreviousWordWithSelection | Control-Alt-Shift-B |
Alt-Shift-Left |
EditorNextWord | Control-Alt-F |
Alt-Right |
EditorNextWordWithSelection | Control-Alt-Shift-F |
Alt-Shift-Right |
EditorRight | Control-F |
Right |
EditorToggleColumnMode | Command-Shift-NumPad[*] |
Control-Alt-Shift-8 |
EditorUp | Control-P |
Up |
FindNext | Control-L |
F3 |
FindPrevious | Control-Shift-L |
Shift-F3 |
Forward | Command-Alt-Right |
Control-] |
RerunTests | Command-Control-R |
Alt-Shift-R |
Resume | Command-Alt-R |
F9 |
Vcs.ShowMessageHistory | Control-M |
Control-E |
These keybindings are set by the $default
keymap
and are not currently included, even if the macOS keymap defines them explicitly.
Actions | macOS Keybindings | $default Keybindings |
---|---|---|
ChangesView.GroupBy.Directory | Control-P |
Control-Alt-P |
ChangesView.GroupBy.Module | Control-M |
Control-Alt-M |
Diff.ApplyLeftSide | Control-Shift-Right |
Alt-Shift-Right |
Diff.ApplyRightSide | Control-Shift-Left |
Alt-Shift-Left |
ForceRefresh | Command-Alt-Shift-R |
Control-Shift-F5 |
GoToDeclaration | Command-B Command-click Middle click Force touch |
Control-B Control-click |
RunToCursor | Alt-F9 Force touch |
Alt-F9 |
ServiceView.GroupByContributor | Control-T |
Control-Alt-T |
ServiceView.GroupByServiceGroups | Control-P |
Control-Alt-P |
TodoViewGroupByShowModules | Control-M |
Control-Alt-M |
TodoViewGroupByShowPackages | Control-P |
Control-Alt-P |
TodoViewGroupByFlattenPackage | Control-F |
Control-Alt-C |
ToggleAmendCommitMode | Control-Alt-M |
Alt-M |
ToggleFindInSelection | Control-Alt-E |
Control-Alt-E |
UsageGrouping.Module | Control-M |
Control-Alt-M |
UsageGrouping.Directory | Control-P |
Control-Alt-P |
UsageGrouping.UsageType | Control-T |
Control-Alt-T |
UsageGrouping.FlattenModules | Control-O |
Control-Alt-O |
UsageGrouping.FileStructure | Control-F |
Control-Alt-F |
UsageGrouping.DirectoryStructure | Control-D |
Control-Alt-D |
This list may change over time.
Actions | Keybindings | Reason |
---|---|---|
PrevWindow/NextWindow | Command+Shift+` /Command+` |
Workaround for platform-specific issues. For Linux, use Alt-`โ in supported WMs. For Windows, try AltBacktick or window-switcher. |
EmojiAndSymbols | Command-Control-Space |
This is rebound to Control-Alt-Shift-Space but does not function outside macOS. For Windows, use Super+; or Super+. to activate the built-in emoji picker. |
This project tries to follow the macOS keybindings (still called "Mac OS X 10.5+" in the JetBrains codebase) as closely as possible. As new UI elements and IDE features are added, JetBrains may add and remove keybindings to better match their evolving feature set. If you find that your muscle memory is getting in the way of a new binding, make a copy of this keymap for your own custom shortcuts.
If you don't use Caps Lock very often, try rebinding it to Command on macOS and Control on Windows and Linux for more consistent hand and finger positioning.
Use a plugin like Key Promoter X to help with learning new shortcuts.