jetbrains-macos-keybindings-for-all
jetbrains-macos-keybindings-for-all copied to clipboard
Modified macOS keybindings for JetBrains IDEs on Windows and Linux
JetBrains macOS Keymap for Windows and Linux
Cheatsheet
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.
Build
Follow JetBrain's guide for using Gradle for plugin development.
Installation
Install the plugin from the plugin marketplace or grab the zip file from the latest release and install manually.
Release
For release tasks, the INTELLIJ_PUBLISH_TOKEN environment variable should be available.
Issues
If you notice any issues, please report them here!
Key Updates
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-= |
Removed Keybindings
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 |
Default Implicit Keybindings
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 |
Missing/no-op Keybindings
This list may change over time.
Actions | Keybindings | Reason |
---|---|---|
PrevWindow/NextWindow | Command+Shift+` /Command+` |
Workaround for platform-specific issues. For Linux, use Alt-` for supported WMs. For Windows, try something like this AutoHotKey script for similar 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. |
FAQ
Oh no! My favorite keybinding changed after an update! What do I do?
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.
I just switched from macOS to Linux/Windows. What can I do to make the transition easier?
Use a plugin like Presentation Assistant or Key Promoter X to help you learn new shortcuts.