- Making Jetbrains shortcuts more like Linux/windows (IDEA, Goland, WebStorm, ...)
- See keymap doc first
- Download ./jetbrains-keymaps/win_keyboard_macos_5.xml
- Copy into ...
- Linux:
$HOME/.config/JetBrains/IntelliJIdea<version>/keymaps/
- Mac:
$HOME/Library/Application Support/JetBrains/IntelliJIdea<version>/keymaps/
- win:
%APPDATA%\JetBrains\IntelliJIdea<version>\keymaps\
- You can replace
IntelliJIdea
with other products likeGoLand
,IdeaIC
,PyCharm
, orDataGrip
- Linux:
- Restart IDE
- Select & use keymap
- Open Goland/IDEA/Pycharm
- Disable synchronization
- Check
Copy actual/last settings from account to this IDE
- Click
Disable Settings Sync
button
- Check
- Move keymap xml to ...
~/Library/Application Support/JetBrains/GoLand<version>/keymaps/*.xml
~/Library/Application Support/JetBrains/IntellijIdea<version>/keymaps/*.xml
~/Library/Application Support/JetBrains/PyCharm<version>/keymaps/*.xml
- Restart GoLand (or IDEA or PyCharm)
- Enable Sync ...
- Click
Keep and Sync Local Settings
- This will automatically write files to
~/Library/Application Support/JetBrains/<product><version>/jba_config/...
- Click
- Settings/Preferences > Keymaps
- Select your keymap
- Try copying my keymap xml file into the dir above
- Assuming you remapped the modifiers as described in keymap doc
"alt"
in<keyboard-shortcut>
means TODO"back_space"
in<keyboard-shortcut>
means TODO"close_bracket"
in<keyboard-shortcut>
means TODO"comma"
in<keyboard-shortcut>
means TODO"control"
and"ctrl"
in<keyboard-shortcut>
both mean todo"enter"
in<keyboard-shortcut>
meansENTER
orreturn
key"equals"
in<keyboard-shortcut>
means=
key"help"
in<keyboard-shortcut>
meansInsert
key"left"
in<keyboard-shortcut>
means Left arrow key"meta"
in<keyboard-shortcut>
means TODO"open_bracket"
in<keyboard-shortcut>
means TODO"period"
in<keyboard-shortcut>
means dot/period key"right"
in<keyboard-shortcut>
means Right arrow key"shift"
in<keyboard-shortcut>
meansSHIFT
key
Order:Order doesn't mattershift meta alt <letters-numbers>
- Case doesn't matter
- These work out-of-the-box on native keyboard when using XWin based keymap
- These might still be awkward on an external (linux/win) keyboard
Category | Feature | Linux, win, XWin shortcut | MacOS keymap shortcut | Action Id |
---|---|---|---|---|
Edit | Basic code completion, Variable name completion, Second basic completion | CTRL+Space |
TODO | TODO |
Edit | Change case | CTRL+SHIFT+U |
⇧ ⌘ U | EditorToggleCase |
Edit | Comment or uncomment the current line | CTRL+/ , CTRL+SHIFT+/ |
⌘ / | CommentByLineComment , CommentByBlockComment |
Edit | Complete statement, Finish lookup with smart enter | CTRL+SHIFT+Enter |
⌃ Space | TODO |
Edit | Delete line | CTRL+Y |
⌘ ⌫ | EditorDeleteLine |
Edit | Duplicate line | CTRL+D |
⌘ D | TODO |
Edit | Inline | CTRL+ALT+N |
⌥ ⌘ N | Inline |
Edit | Move line up/down | ALT+SHIFT+Up , ALT+SHIFT+Down |
TODO ↓ | MoveLineUp , MoveLineDown |
Edit | Move statement up/down | CTRL+SHIFT+Up , CTRL+SHIFT+Down |
⇧ ⌘ ↓ | MoveStatementUp , MoveStatementDown |
Edit | Optimize Imports | CTRL+ALT+O |
TODO | TODO |
Edit | Override or implement a method | CTRL+O |
TODO | TODO |
Edit | Postfix completion, live templates | CTRL+J |
TODO | TODO |
Edit | Quick fixes, Global method name completion | ALT+Enter |
TODO | TODO |
Edit | Redo | CTRL+SHIFT+Z |
⇧ ⌘ Z | TODO |
Edit | Reformat | CTRL+ALT+L |
⌥ ⌘ L | TODO |
Edit | Sort lines | ALT+SHIFT+L |
- | TODO |
Edit | Syntax aware selection (Extend, Shrink) | CTRL+W , CTRL+SHIFT+W |
TODO | TODO |
Edit | Type-matching completion | CTRL+SHIFT+Space |
⌃ ⇧ Space | TODO |
Edit | Undo | CTRL+Z |
⌘ Z | TODO |
Git | add | CTRL+ALT+A |
TODO | TODO |
Git | commit | CTRL+K |
⌘ K | TODO |
Git | push | CTRL+SHIFT+K |
⇧ ⌘ K | TODO |
Navigate | AceJump - Activate / Cycle AceJump Mode | CTRL+; , CTRL+' |
-- | AceAction |
Navigate | Diff | CTRL+D |
⌘ D | TODO |
Navigate | File structure popup | CTRL+F12 |
⌘ F12 | TODO |
Navigate | Find (in current file) | CTRL+F |
⌘ F | TODO |
Navigate | Find in files | CTRL+SHIFT+F |
⇧ ⌘ F | TODO |
Navigate | Find usages | ALT+F7 |
⌥ F7 | TODO |
Navigate | Go to action | CTRL+SHIFT+A |
⇧ ⌘ A | TODO |
Navigate | Go to declaration | CTRL+B |
⇧ ⌘ B | TODO |
Navigate | Go to File | CTRL+SHIFT+N |
⇧ ⌘ O | TODO |
Navigate | Go to Line | CTRL+G |
⌘ L | TODO |
Navigate | Go to symbol | CTRL+ALT+SHIFT+N |
⌥ ⌘ O | TODO |
Navigate | Jump to next error | F2 |
(same) | TODO |
Navigate | Last edit location | CTRL+SHIFT+Backspace |
⇧ ⌘ ⌫ | JumpToLastChange |
Navigate | Move caret to next/previous method (member) | ALT+Down , ALT+Up |
⌃ ⇧ ↓ | MethodDown , MethodUp |
Navigate | Param Info | CTRL+P |
⌘ P | TODO |
Navigate | Project view | ALT+1 |
⌘ 1 | ActivateProjectToolWindow |
Navigate | Recent files popup | CTRL+E |
⌘ E | TODO |
Navigate | Replace (in current file) | CTRL+R |
⌘ R | TODO |
Navigate | Replace in files | CTRL+SHIFT+R |
⇧ ⌘ R | TODO |
Navigate | Search Everywhere | SHIFT+SHIFT |
(same) | TODO |
Navigate | Select Multiple files | CTRL+Click |
Windows+Click |
TODO |
Navigate | Select next/previous Tab | ALT+Left ALT+Right |
TODO | TODO |
Refactor | Extract constant | CTRL+ALT+C |
⌥ ⌘ C | TODO |
Refactor | Extract method | CTRL+ALT+M |
⌥ ⌘ M | TODO |
Refactor | Introduce/Extract variable | CTRL+ALT+V |
⌥ ⌘ V | TODO |
Refactor | Rename | SHIFT+F6 |
⇧ F6 | TODO |
Run | Debug ... | ALT+SHIFT+F9 |
⌃ ⌥ D | TODO |
Run | Run ... | ALT+SHIFT+F10 |
⌃ ⌥ R | TODO |
Category | Feature | Linux, win, XWin shortcut | MacOS keymap shortcut | Add mapping (on MacOS) | Action ID |
---|---|---|---|---|---|
Edit | Column select | ALT+SHIFT+Insert |
⇧ ⌘ 8 |
⌥ ⇧ Help |
TODO |
Files | Generate..., New Directory | ALT+Insert |
⌘ N |
⌥ Help |
TODO |
Navigate | AceJump: Activate / Cycle AceJump Mode | CTRL+; , CTRL+' |
-- | ⌃ ; ⌃ ' |
TODO |
Navigate | Database Tool window | ALT+D |
-- | ⌥ D |
ActivateDatabaseToolWindow |
Navigate | Split and Move Right | ALT+S |
-- | ⌥ S |
TODO |
- TODO: collapse/expand
System Preferences
>Keyboard
>Shortcuts
>Mission Control
> DisableMove left a space
(conflicts withMove caret to previous word
)Mission Control
> DisableMove right a space
(conflicts withMove caret to next word
)Keyboard
> DisableMove focus to status menus
(conflicts withToggle line breakpoint
)Services
> DisableOpen man Page in Terminal
Services
> DisableOpen man Page Index in Terminal
Services
> DisableShow Map
Services
> DisableAdd to Reading List
Services
> DisableOpen URL
Category | Feature | Linux, win, XWin shortcut | MacOS keymap shortcut | Add mapping (on MacOS) |
---|---|---|---|---|
Navigate | Move caret to next/previous word | CTRL+Right / CTRL+Left |
⌥ → / ⌥ ← |
Works once conflict removed |
Navigate | Settings/Preferences | CTRL+ALT+S |
⌘ , |
TODO: conflict: ⌃ ⌥ S or Control+Option+S |
Run | Toggle line breakpoint | CTRL+F8 |
⌘ F8 |
Works once conflict removed |
- If you lack an explicit mapping, by default,
Option
+ will print greek letters - Add explicit key mappings
- The lists below use at-least-one of each special key combinations
CTRL+ALT+SHIFT+N
(go to symbol)
Keymap | Purpose |
---|---|
ALT + CTRL + L |
Code > Reformat Code |
ALT + SHIFT + L |
Edit > Sort lines |
CTRL + SHIFT + A |
go to action |
Keymap | Purpose |
---|---|
ALT + 1 |
Tool Window > Project |
CTRL + J |
Insert Live Template... |
SHIFT + F6 |
Refactor > Rename... |
SHIFT + SHIFT |
Search anywhere |
- https://defkey.com/what-means
- https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
- https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
- https://www.jetbrains.com/help/idea/reference-keymap-mac-default.html
- https://www.jetbrains.com/help/idea/settings-keymap.html