"cursor-keybindings"
Master Cursor keyboard shortcuts and customize keybindings for AI features and editor commands. Triggers on "cursor shortcuts", "cursor keybindings", "cursor keyboard", "cursor hotkeys", "cursor commands", "Cmd+K", "Cmd+L", "Cmd+I".
Allowed Tools
Provided by Plugin
cursor-pack
Flagship+ skill pack for Cursor IDE - 30 skills for AI code completion, composer workflows, and IDE mastery
Installation
This skill is included in the cursor-pack plugin:
/plugin install cursor-pack@claude-code-plugins-plus
Click to copy
Instructions
Cursor Keybindings
Complete keyboard shortcut reference for Cursor IDE. Covers AI-specific shortcuts, standard editor commands, and customization. All shortcuts shown as macOS / Windows-Linux.
AI Feature Shortcuts
Primary AI Shortcuts
| Action | macOS | Windows/Linux | Notes |
|---|---|---|---|
| Chat panel | Cmd+L |
Ctrl+L |
Open/focus AI chat sidebar |
| Inline Edit | Cmd+K |
Ctrl+K |
Edit selected code with AI |
| Composer | Cmd+I |
Ctrl+I |
Multi-file AI editing |
| Full Composer | Cmd+Shift+I |
Ctrl+Shift+I |
Expanded composer view |
Context & Suggestions
| Action | macOS | Windows/Linux | Notes |
|---|---|---|---|
| Add to Chat context | Cmd+Shift+L |
Ctrl+Shift+L |
Add selected code to existing chat |
| Accept Tab suggestion | Tab |
Tab |
Accept full ghost text |
| Accept word-by-word | Cmd+→ |
Ctrl+→ |
Partial Tab acceptance |
| Dismiss suggestion | Esc |
Esc |
Reject ghost text |
| Force trigger completion | Ctrl+Space |
Ctrl+Space |
Manually trigger Tab |
| Accept inline edit | Cmd+Y |
Ctrl+Y |
Accept Cmd+K changes |
| Reject inline edit | Esc |
Esc |
Dismiss Cmd+K changes |
Chat Management
| Action | macOS | Windows/Linux | Notes |
|---|---|---|---|
| New chat | Cmd+N (in chat) |
Ctrl+N |
Start fresh conversation |
| Toggle chat panel | Cmd+L |
Ctrl+L |
Show/hide chat sidebar |
Essential Editor Shortcuts
Navigation
| Action | macOS | Windows/Linux |
|---|---|---|
| Command Palette | Cmd+Shift+P |
Ctrl+Shift+P |
| Quick Open file | Cmd+P |
Ctrl+P |
| Go to Symbol | Cmd+Shift+O |
Ctrl+Shift+O |
| Go to Line | Cmd+G |
Ctrl+G |
| Go to Definition | F12 |
F12 |
| Peek Definition | Option+F12 |
Alt+F12 |
| Go Back | Cmd+- |
Ctrl+- |
| Go Forward | Cmd+Shift+- |
Ctrl+Shift+- |
Editing
| Action | macOS | Windows/Linux |
|---|---|---|
| Multi-cursor (add) | Option+Click |
Alt+Click |
| Select all occurrences | Cmd+Shift+L |
Ctrl+Shift+L |
| Move line up/down | Option+↑/↓ |
Alt+↑/↓ |
| Duplicate line | Shift+Option+↑/↓ |
Shift+Alt+↑/↓ |
| Delete line | Cmd+Shift+K |
Ctrl+Shift+K |
| Toggle comment | Cmd+/ |
Ctrl+/ |
| Format document | Shift+Option+F |
Shift+Alt+F |
| Rename symbol | F2 |
F2 |
| Quick Fix | Cmd+. |
Ctrl+. |
Panels & Views
| Action | macOS | Windows/Linux |
|---|---|---|
| Toggle terminal | ` Cmd+ `` |
` Ctrl+ `` |
| Toggle sidebar | Cmd+B |
Ctrl+B |
| Source Control | Cmd+Shift+G |
Ctrl+Shift+G |
| Extensions | Cmd+Shift+X |
Ctrl+Shift+X |
| Explorer | Cmd+Shift+E |
Ctrl+Shift+E |
| Search across files | Cmd+Shift+F |
Ctrl+Shift+F |
| Keyboard shortcuts editor | Cmd+K Cmd+S |
Ctrl+K Ctrl+S |
Customizing Keybindings
Via UI
Cmd+K Cmd+Sto open Keyboard Shortcuts editor- Search for the command (e.g., "accept cursor tab")
- Click the pencil icon next to the keybinding
- Press your desired key combination
- If conflict detected, choose to override or cancel
Via JSON
Open keybindings.json: Cmd+Shift+P > Open Keyboard Shortcuts (JSON)
[
{
"key": "cmd+enter",
"command": "editor.action.inlineSuggest.commit",
"when": "inlineSuggestionVisible"
},
{
"key": "ctrl+shift+k",
"command": "aichat.newchat",
"when": "editorFocus"
},
{
"key": "cmd+k cmd+a",
"command": "editor.action.selectAll",
"when": "editorTextFocus && !editorReadonly"
}
]
Vim Mode Compatibility
If using the Vim extension with Cursor:
// keybindings.json -- resolve Vim conflicts
[
{
"key": "ctrl+l",
"command": "aichat.focus",
"when": "!vim.active || vim.mode == 'Normal'"
},
{
"key": "ctrl+k",
"command": "cursor.edit",
"when": "editorTextFocus && !vim.active"
}
]
Common Vim conflicts:
Ctrl+Kconflicts with Vim's digraph modeCtrl+Lconflicts with Vim's clear/redrawCtrl+Iconflicts with Vim's jump forward
Solution: Remap Cursor AI shortcuts to avoid Vim's control sequences, or use when clauses to scope by Vim mode.
Cheat Sheet (Print-Friendly)
╔══════════════════════════════════════════════╗
║ CURSOR AI SHORTCUTS (macOS) ║
╠══════════════════════════════════════════════╣
║ Cmd+L Chat panel ║
║ Cmd+K Inline edit (select first) ║
║ Cmd+I Composer (multi-file) ║
║ Cmd+Shift+L Add selection to chat ║
║ Tab Accept Tab suggestion ║
║ Cmd+→ Accept suggestion word-by-word ║
║ Esc Dismiss suggestion ║
║ Cmd+Y Accept inline edit ║
║ Cmd+Shift+P Command Palette ║
║ Cmd+P Quick Open file ║
╚══════════════════════════════════════════════╝
Enterprise Considerations
- Keybinding policies: Teams can share a
keybindings.jsonin the project repo (.vscode/keybindings.json) - Accessibility: Cursor supports screen readers and keyboard-only navigation via standard VS Code accessibility features
- Corporate keyboards: International keyboard layouts may require different mappings for Cmd+K/L/I