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".
85
83%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Complete keyboard shortcut reference for Cursor IDE. Covers AI-specific shortcuts, standard editor commands, and customization. All shortcuts shown as macOS / Windows-Linux.
| 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 |
| 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 |
| 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 |
| 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+- |
| 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+. |
| 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 |
Cmd+K Cmd+S to open Keyboard Shortcuts editorOpen 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"
}
]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+K conflicts with Vim's digraph modeCtrl+L conflicts with Vim's clear/redrawCtrl+I conflicts with Vim's jump forwardSolution: Remap Cursor AI shortcuts to avoid Vim's control sequences, or use when clauses to scope by Vim mode.
╔══════════════════════════════════════════════╗
║ 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 ║
╚══════════════════════════════════════════════╝keybindings.json in the project repo (.vscode/keybindings.json)70e9fa4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.