# Keyboard Shortcuts: Code Faster Without Touching Mouse

# Keyboard Shortcuts: Code Faster Without Touching Mouse

## Why This Skill Matters

Keyboard shortcuts are the difference between a developer who codes and a developer who *flows*. Every second spent reaching for your mouse is a second your brain context-switches away from problem-solving. Professional developers can reduce coding time by 30-40% through keyboard mastery, while simultaneously reducing repetitive strain injuries.

Beyond speed, shortcuts keep you in the zone. The cognitive load of navigating menus breaks your flow state—that precious mental space where complex problems solve themselves. Whether you're debugging at 2 AM or shipping features under deadline, keyboard proficiency is non-negotiable.

## Getting Started

**Choose Your IDE First**

Most shortcuts are universal across modern editors (VS Code, JetBrains IDEs, Sublime), but some are platform-specific. This guide covers:
- **VS Code** (most popular, cross-platform)
- **JetBrains Suite** (IntelliJ, PyCharm, WebStorm)
- **Sublime Text** (lightweight alternative)
- **macOS vs Windows/Linux** variations

**The Learning Curve**

Don't memorize everything at once. Start with 5-10 shortcuts you use daily, then add 3-5 weekly. Your fingers will develop muscle memory faster than your conscious mind can recall them.

## Essential Commands/Shortcuts

### Navigation & Selection

| Action | VS Code | JetBrains | Sublime |
|--------|---------|-----------|---------|
| Go to Line | `Ctrl+G` | `Ctrl+G` | `Ctrl+G` |
| Go to File | `Ctrl+P` | `Ctrl+Shift+N` | `Ctrl+P` |
| Go to Symbol | `Ctrl+Shift+O` | `Ctrl+Alt+Shift+N` | `Ctrl+R` |
| Find in Files | `Ctrl+Shift+F` | `Ctrl+Shift+F` | `Ctrl+Shift+F` |
| Select Word | `Ctrl+D` | `Ctrl+D` | `Ctrl+D` |
| Expand Selection | `Shift+Alt+→` | `Shift+Ctrl+→` | `Ctrl+Shift+Space` |
| Jump to Bracket | `Ctrl+Shift+\` | `Ctrl+Shift+M` | `Ctrl+M` |

**Pro Tip:** `Ctrl+P` then type `@` in VS Code to search symbols in current file—faster than scrolling.

### Editing & Manipulation

| Action | VS Code | JetBrains | Sublime |
|--------|---------|-----------|---------|
| Delete Line | `Ctrl+Shift+K` | `Ctrl+Y` | `Ctrl+Shift+K` |
| Duplicate Line | `Ctrl+Shift+D` | `Ctrl+D` | `Ctrl+Shift+D` |
| Move Line Up/Down | `Alt+↑/↓` | `Alt+Shift+↑/↓` | `Ctrl+Shift+↑/↓` |
| Comment Line | `Ctrl+/` | `Ctrl+/` | `Ctrl+/` |
| Multi-line Comment | `Shift+Alt+A` | `Ctrl+Shift+/` | `Shift+Alt+A` |
| Insert Line Below | `Ctrl+Enter` | `Shift+Enter` | `Ctrl+Enter` |
| Insert Line Above | `Ctrl+Shift+Enter` | `Ctrl+Alt+Enter` | `Ctrl+Shift+Enter` |

**Real-world scenario:** Refactoring a function? Select the entire block with `Shift+Alt+↓`, duplicate with `Ctrl+Shift+D`, then modify. Done in seconds.

### Search & Replace

| Action | VS Code | JetBrains | Sublime |
|--------|---------|-----------|---------|
| Find | `Ctrl+F` | `Ctrl+F` | `Ctrl+F` |
| Replace | `Ctrl+H` | `Ctrl+H` | `Ctrl+H` |
| Find Next | `F3` | `F3` | `F3` |
| Replace All | `Ctrl+Alt+Enter` | `Ctrl+Alt+Shift+Enter` | `Ctrl+Alt+Enter` |
| Use Regex | Toggle `.*` icon | Toggle `.*` icon | Toggle `.*` icon |

**Advanced:** Use regex with capture groups: Find `(\w+)\s*=\s*(\w+)` and replace with `$2 = $1` to swap variables instantly.

### Code Formatting & Refactoring

| Action | VS Code | JetBrains | Sublime |
|--------|---------|-----------|---------|
| Format Document | `Shift+Alt+F` | `Ctrl+Alt+L` | `Edit → Line → Reindent` |
| Format Selection | `Ctrl+K Ctrl+F` | `Ctrl+Alt+L` | N/A |
| Rename Symbol | `F2` | `Shift+F6` | `Ctrl+F2` |
| Extract Variable | `Ctrl+Alt+V` | `Ctrl+Alt+V` | N/A |
| Extract Method | `Ctrl+Alt+M` | `Ctrl+Alt+M` | N/A |
| Quick Fix | `Ctrl+.` | `Alt+Enter` | N/A |

**Game-changer:** `F2` to rename a variable across your entire codebase instantly. No more find-and-replace anxiety.

### Terminal & Debugging

| Action | VS Code | JetBrains | Sublime |
|--------|---------|-----------|---------|
| Toggle Terminal | `` Ctrl+` `` | `` Alt+F12 `` | `` Ctrl+` `` |
| New Terminal | `Ctrl+Shift+`` | `Ctrl+Alt+F12` | N/A |
| Debug: Start | `F5` | `Shift+F9` | N/A |
| Debug: Step Over | `F10` | `F8` | N/A |
| Debug: Step Into | `F11` | `F7` | N/A |
| Debug: Continue | `F5` | `F9` | N/A |

## Advanced Techniques

### Multi-Cursor Editing

**VS Code:** `Ctrl+Alt+↓` adds a cursor on the next line. Edit simultaneously across multiple lines.

```javascript
// Before: Three similar variable declarations
const name = "John"
const age = 25
const city = "NYC"

// Use Ctrl+Alt+↓ twice, then type to edit all at once
const user_name = "John"
const user_age = 25
const user_city = "NYC"
```

**JetBrains:** `Alt+Shift+Click` to place cursors anywhere. Or `Ctrl+Shift+L` to select all occurrences of current word.

### Command Palette

**VS Code:** `Ctrl+Shift+P` opens the command palette. Type partial commands—no need to memorize exact names.

```
> format doc     → Formats entire document
> git commit     → Opens git commit dialog
> ext install    → Opens extension installer
```

**JetBrains:** `Ctrl+Shift+A` (Windows/Linux) or `Cmd+Shift+A` (Mac) for action search.

### Bracket Pair Navigation

**VS Code:** `Ctrl+Shift+\` jumps to matching bracket. Essential for nested structures.

```python
def function():
    if condition:
        for item in list:
            # Cursor here, press Ctrl+Shift+\ to jump to matching bracket
            process(item)
```

### Snippet Expansion

Most IDEs support custom snippets. Create shortcuts for repetitive code:

```json
{
  "console.log": {
    "prefix": "log",
    "body": "console.log($1);",
    "description": "Log to console"
  }
}
```

Type `log` + `Tab` → instant `console.log();`

## Practice Drills

**Week 1: Foundation (5 shortcuts)**
- Navigate: `Ctrl+P`, `Ctrl+G`, `Ctrl+F`
- Edit: `Ctrl+/`, `Ctrl+Shift+K`
- *Daily drill:* Open 10 files using `Ctrl+P`, find 5 lines using `Ctrl+G`

**Week 2: Efficiency (5 new shortcuts)**
- Editing: `Ctrl+Shift+D`, `Alt+↑/↓`, `Ctrl+H`
- Refactoring: `F2`
- *Daily drill:* Refactor a function using only keyboard shortcuts

**Week 3: Mastery (5 advanced shortcuts)**
- Multi-cursor: `Ctrl+Alt+↓`
- Command palette: `Ctrl+Shift+P`
- Debugging: `F5`, `F10`, `F11`
- *Daily drill:* Debug a program without touching the mouse

**Gamification:** Time yourself completing coding tasks. Track improvements weekly.

## Integration with Workflow

### Git Operations

Combine shortcuts with terminal commands:

```bash
# Terminal shortcut: Ctrl+` (toggle terminal)
git add .
git commit -m "message"
git push

# Then Alt+Tab back to editor
```

### Debugging Workflow

```
1. Set breakpoint: Click line number (or Ctrl+B in some IDEs)
2. Start debug: F5
3. Step through: F10 (step over) or F11 (step into)
4. Inspect: Hover over variables or use watch panel
5. Continue: F5
```

### Code Review Process

```
1. Open file: Ctrl+P
2. Find changes: Ctrl+F
3. Navigate: Ctrl+G
4. Comment: Ctrl+/ to understand code
5. Rename for clarity: F2
```

## Pro Tips

**1. Customize Your Shortcuts**

Don't like default bindings? Change them. VS Code: `Ctrl+K Ctrl+S` opens keybindings. JetBrains: `Settings → Keymap`.

**2. Learn IDE-Specific Power Features**

- **VS Code:** Remote development with `Ctrl+Shift+P → Remote-SSH`
- **JetBrains:** Structural search with `Ctrl+Shift+S`
- **Sublime:** Goto anything with `Ctrl+P` then `:` for line numbers

**3. Use Keyboard Shortcuts for Mouse-Heavy Tasks**

- Opening files: `Ctrl+P` instead of file explorer
- Running tests: `Ctrl+Shift+P → Run Test` instead of clicking buttons
- Switching tabs: `Ctrl+Tab` instead of clicking

**4. Create a Cheat Sheet**

Print your top 20 shortcuts and tape them to your monitor for the first month. Muscle memory develops faster with visual reinforcement.

**5. Combine Shortcuts for Power Moves**

```
Ctrl+H (replace) → Type pattern → Alt+Enter (replace all) → Ctrl+Z (undo if wrong)
```

**6. Platform-Specific Optimization**

- **macOS:** Learn `Cmd` vs `Ctrl` differences
- **Linux:** Some shortcuts conflict with window managers; customize accordingly
- **Windows:** Embrace `Ctrl+Shift` combinations

## Summary

Keyboard shortcuts transform coding from a mechanical process into a fluid, creative activity. The investment of 3-4 weeks learning these shortcuts pays dividends for your entire career.

**Key Takeaways:**

✓ Start with 5-10 essential shortcuts, expand gradually  
✓ Navigation (`Ctrl+P`, `Ctrl+G`) and editing (`Ctrl+/`, `Ctrl+Shift+K`) are highest ROI  
✓ Multi-cursor editing and command palette unlock advanced workflows  
✓ Customize shortcuts to match your muscle memory  
✓ Practice daily—muscle memory compounds  
✓ Combine shortcuts for exponential productivity gains  

The developers shipping features fastest aren't smarter—they're just faster with their keyboards. Start today, and in a month, you'll wonder how you ever coded with a mouse.

---

**Next Steps:** Pick your IDE, learn 5 shortcuts this week, and time yourself on a coding task. Measure again in 2 weeks. The improvement will surprise you.
