Better workflow , testing and debugging capability on your Kotlin Projects
Note: (Hide) CMD + H and (Minimize) CMD + M should be remapped using macos keyboard settings
Karabiner elements is required for Hyper Keys and Custom Tab Key
2. Install Plugins
- IdeaVim
- IdeaVim-EasyMotion
- Key Promoter X
- Ace Jump
3. Load `Masterpowers` keymap
Move the Downloaded file to your Home Directory
~/.ideavimrc
Top Left Sidebar Tool Windows
| Tool Window Keys (CMD+Fn Keys) Leftsidebar | Description |
|---|---|
| CMD+F1 | Project |
| CMD+F2 | Commit |
| CMD+F3 | Bookmarks |
| CMD+F4 | Resource Manager |
| CMD+F5 | Build Variants |
Top Right Sidebar Tool Windows
| Tool Window Keys (CMD+Fn Keys) RightSidebar | Description |
|---|---|
| CMD+F12 | Notifications |
| CMD+F11 | Gradle |
| CMD+F10 | Key Promoter X |
| CMD+F9 | Device Manager |
| CMD+F8 | Running Devices |
Bottom Left Sidebar Tool Windows
| Tool Window Keys (OPT+Keys) Leftsidebar Bottom | Description |
|---|---|
| OPT+G | Git |
| OPT+B | Build |
| OPT+S | Services |
| OPT+P | Problems |
| OPT+E | Log Cat |
| OPT+D | Debug |
| OPT+F | Find |
| OPT+R | Run |
Fn Keys
Mainly used for refactoring and documentation| Keyboard Shortcuts | Description |
|---|---|
| F1 | Quick Documentation |
| F2 | Rename |
| F3 | Refactor this |
| F4 | Change Signature |
| F5 | Load Changes |
| F11 | SDK Manager |
| F10 | Project Structure |
Previews
| Keyboard Shortcuts | Description |
|---|---|
| SHIFT+F1 | Editor |
| SHIFT+F2 | Editor and Preview |
| SHIFT+F3 | Preview |
Runner
| Keyboard Shorcuts | Description |
|---|---|
| CMD+R | Run Context Configuration |
| CMD+SHIFT+R | Run |
| CMD+T | External Tools |
Note: External Tools Command Available depends on what you configure on my machine i have the ff:
- Kotlinc
- Java Run
Et. al.
Nav Menus Top Right (Hidden on IntelliJ)
| Keyboard Shorcuts | Description |
|---|---|
| OPT+F1 | Make Modules |
| OPT+F2 | Attach Debugger to Android Process |
| OPT+F3 | Sync Project With Gradle Files |
Debugging
| Keyboard Shorcuts | Description |
|---|---|
| CMD+B | Toggle Breakpoint |
| OPT+K | Resume/Pause Program |
| OPT+L | Step Into |
| OPT+H | Step Out |
| OPT+J | Step Over |
| CMD+SHIFT+S | Stop |
Errors / Warning
| Keyboard Shortcut | Description |
|---|---|
| OPT+P | Tool Windows -> Problems |
| OPT+SHIFT+I | Inspect Code with Editor Settings |
| ]+E (vim) | Go To Error |
| [+E (vim) | Go To Previous Error |
| TAB+E | Error Description |
Note: Tab is mapped to CTRL+OPT+CMD using karabiner elements
Quickly Jump from One Place to Another
Note : This are all vim keys binded using .ideavimrc
| Keyboard Shortcut | Description |
|---|---|
| S | Ace Word Start Action |
| leader+leader+w | Search Word Forward |
| leader+leader+b | Search Word Backward |
| leader+leader+f | Search Char Forward |
| leader+leader+F | Search Char Backward |
Multi-Cursor / Selections
| Keyboard Shortcut | Description |
|---|---|
| CMD+G | Find Next / Move to Next Occurrence |
| CMD+SHIFT+G | Find Previous / Move to Previous Occurrence |
| CMD+D | Add Selection for Next Occurrence |
| CMD+SHIFT+D | Unselect Occurrence |
| CMD+SHIFT+L | Select All Occurrence |
Code Completions
| Keyboard Shortcut | Description |
|---|---|
| OPT+/ | Cyclic Expand Word |
| OPT+SHIFT+/ | Cyclic Expand Backward |
| OPT+Space | Basic |
| OPT+ENTER | Type Matching |
Type Hinting, Quick Fixes, Formatting
| Keyboard Shortcut | Description |
|---|---|
| gp | Parameter Info |
| gt | Expression Type Info |
| CMD+. | Show Context and Show Quick Fixes |
| CMD+SHIFTT+I | Reformat Code |
| OPT+SPACE | Insert Live Template |
| OPT+W | Surround with |
| CMD+K | Code Generate |
| CMD+L | Complete Current Statement |
GoTo
| Keyboard Shortcut | Description |
|---|---|
| gd (Vim) | Go to Declaration or Usages |
| gD (Vim) | Go to TypeDeclaration |
| gu (Vim) | Find Usages |
| gi (Vim) | Go to Implementations |
| CMD+U | Go to Super Method |
| SHIFT+K (Vim) | Quick Definition |
| F1 | Quick Documentation |
Finders
| Keyboard Shortcut | Description |
|---|---|
| CMD+F | Find |
| CMD+E | Recent Files |
| CMD+SHIFT+F | Find in Files |
| CMD+H | Replace |
| CMD+SHIFT+H | Replace in Files |
| SHIFT+SHIFT | Search Everywhere |
| CMD+P | Go To File |
| CMD+SHIFT+P | Run any Command |
| CMD+O | Go to Symbol |
| CMD+SHIFT+O | Go To Class |
| OPT+A | Go to Action |
| OPT+T | Go to Test |
| CMD+Y | File Structure |
Bookmarks
| Keyboard Shortcut | Description |
|---|---|
| leader+[0-9] | Go to Bookmark by number |
| leader+[a-z] | Go to Bookmark by letter |
| '+[a-z] | Toggle Bookmark by lettes |
| '+[0-9] | Toggle Bookmark by number |
Code Selections
| Keyboard Shortcut | Description |
|---|---|
| OPT+DOWN | Shrink Selection |
| OPT+UP | Expand Selection |
Move Statements
| Keyboard Shortcut | Description |
|---|---|
| OPT+SHIFT+J | Move Statement Down |
| OPT+SHIFT+K | Move Statement Up |
Move Lines
| Keyboard Shortcut | Description |
|---|---|
| CMD+SHIFT+J | Move Line Down |
| CMD+SHIFT+K | Move Line Up |
Split Panes
| Keyboard Shortcut | Description |
|---|---|
| s+p | Horizontal Split |
| v+s++p | Vertical Split |
Moving Across Panes
| Keyboard Shortcut | Description |
|---|---|
| CTRL+H | Move to Left Pane |
| CTRL+J | Move Down Pane |
| CTRL+K | Move to Right Pane |
| CTRL+L | Move Up Pane |
Tab Switching
| Keyboard Shortcut | Description |
|---|---|
| CMD+[1-9] | Select Tab [1-9] |
| CMD+[ | Select Previous Tab |
| CMD+] | Select Next Tab |
| TAB+[ | Navigate Tab Back |
| TAB+] | Navigate Tab Forward |
Comments
| Keyboard Shortcut | Description |
|---|---|
| CMD+/ | Comment with Line Comment |
| CMD+SHIFT+/ | Comment with Block Comment |
Code Folding
| Keyboard Shortcut | Description |
|---|---|
| CMD+(-) | Folding Collapse |
| CMD+(+) | Folding Expand |
| CMD+SHIFT+(-) | Collapse All |
| CMD+SHIFT+(+) | Expand All |
File Manipulation
| Shortcut Keys | Description |
|---|---|
| CMD+N | New |
| CMD+SHIFT+N | New Directory |
Note: New has Different ways to create Files including Directory
File Editing
| Shortcut Keys | Description |
|---|---|
| CMD+S | Save all |
| CMD+X | Cut |
| CMD+V | Paste |
| CMD+Z | Undo |
| CMD+SHIFT+Z | Redo |
Notifications
| Keyboard Shortcut | Description |
|---|---|
| CMD+F12 | Tool Windows -> Notification |
| CMD+SHIFT+F12 | Clear all Notifications |
Context Menus
| Keyboard Shortcut | Description |
|---|---|
| OPT+SHIFT+C | Show Color Picker |
| CMD+M | Show Context Menu |
| OPT+SHIFT+D | Select Available Devices |
VCS
| Keyboard Shortcut | Description |
|---|---|
| OPT+A | Amend |
| OPT+C | Commit File |
| OPT+SHIFT+A | Add to .gitignore |
| CMD+SHIFT+A | Add to VCS |
| CMD+SHIFT+U | Rollback |
| CMD+SHIFT+M | Move to other Changelist |
Git History
| Keyboard Shortcut | Description |
|---|---|
| OPT+SHIFT+R | Compare with Revisions |
| CMD+SHIFT+Y | Show History / Diff |
| CMD+J | Next Difference |
| CMD+K | Previous Difference |
Linear Tasks
| Linear Keys | Description |
|---|---|
| CMD+\ | Open Tasks |
| CMD+SHIFT+\ | Switch Tasks |
-
Press SHIFT+SPACE
-
Select
IdeaVim: Track Action IDsWe can add custom bindings to our ~/.ideavimrc
nmap S <action>(AceWordStartAction)AI Assistant like Gemini and Copilot is not added here.