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