👋 Hello from Sept 2023! I use this keymap every single day. I hope you'll take the lack of updates as a testament to the stability of JetBrains IDEs' keyboard workflow despite recent overhauls to the GUI. As always, if you notice any issues, please let me know.
This repo converts the lovely Mac OS X 10.5+ keymap in JetBrains
IDEs from macOS-specific bindings to ones 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 | Mac OS X 10.5+ 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 | Mac OS X 10.5+ 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, therefore, not included even though the Mac OS X 10.5+ keymap may define them explicitly.
Actions | Mac OS X 10.5+ 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 for a direct replacement or an AutoHotKey script for more customizable behavior. |
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 Mac OS X 10.5+ keybindings 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.
Use a plugin like Presentation Assistant or Key Promoter X to help you learn new shortcuts.