Keyboard Shortcuts and Efficiency Tips
Keyboard Shortcuts and Efficiency Tips
The gap between a beginner Cursor user and an expert is often not knowledge of AI features. It is speed. Experts rarely reach for the mouse. They trigger features with keystrokes, move between files without looking, and switch contexts in seconds. That is the power of keyboard muscle memory.
In this lesson, you will learn Cursor's essential AI shortcuts, the VS Code navigation shortcuts that carry over, how to customize keybindings, and the habits that separate fast developers from slow ones.
Shortcuts below use Mac keys. On Windows and Linux, use Ctrl in place of Cmd and Alt in place of Option.
What You'll Learn
- The core Cursor AI shortcuts every user should know
- Shortcuts for modes, models, and new chats
- How to accept and reject AI changes from the keyboard
- Navigation shortcuts inherited from VS Code
- How to use the command palette for everything else
- Customizing keybindings to fit your workflow
- Quick file switching and split editor techniques
- Building a muscle-memory workflow through deliberate practice
The Core Cursor Shortcuts
Cursor adds a handful of AI commands on top of VS Code. If you learn nothing else from this lesson, learn these. They cover most of what you will do in Cursor every day.
| Shortcut | What it does |
|---|---|
Cmd+I or Cmd+L | Toggle the Agent side panel |
Cmd+Shift+L | Add the current selection to chat |
Cmd+K | Inline edit in the editor |
Tab | Accept a Tab completion suggestion |
Cmd+I or Cmd+L: The Agent Side Panel
Both Cmd+I and Cmd+L toggle the Agent side panel. This is where you work with the AI: ask questions, request features, get explanations, plan changes, or let Agent edit files and run commands for you.
Cmd+I / Cmd+L Toggle the Agent side panel
Older tutorials say Cmd+I opens a separate "Composer" panel. That panel no longer exists. Its features were merged into Agent, and "Composer" is now the name of Cursor's own model. Both shortcuts open the same side panel.
What to use it for: Any conversation about code, any multi-file change, and any task where you want Agent to drive.
Cmd+Shift+L: Add Selection to Chat
Select some code and press Cmd+Shift+L to drop it into the chat as context. This is the fastest way to say "look at this exact code" before asking a question.
Cmd+Shift+L Add the current selection to chat
What to use it for: Asking about a specific function, error block, or snippet without copying and pasting.
Cmd+K: Inline Edit
Cmd+K opens a small input bar directly in the editor. You describe a change, press Return, and Cursor edits the selected code (or generates code at the cursor if nothing is selected).
Cmd+K Open inline edit
Return Submit your instruction
Cmd+Shift+Backspace Cancel
Select a function, press Cmd+K, type "add input validation," and the change appears as a diff you can review.
What to use it for: Quick, targeted edits: refactoring a function, adding error handling, renaming a parameter, or generating a small new piece of code.
Tab: Accept Completion
Cursor's Tab completion watches what you type and offers suggestions as greyed-out text. Press Tab to accept.
Tab Accept the current suggestion
Unlike traditional autocomplete, Tab can suggest whole lines, multi-line blocks, and even your next edit elsewhere in the file. It learns from the code around your cursor and recent changes.
What to use it for: Accepting completions as you type. With practice, you will write code by typing a few characters and pressing Tab repeatedly.
Modes, Models, and Chats
Once the side panel is open, a few more shortcuts let you control it without the mouse.
| Shortcut | What it does |
|---|---|
Shift+Tab (in the chat input) | Switch between modes (Agent, Ask, Plan, and others) |
Cmd+. (in the chat input) | Open the mode menu |
Cmd+/ (in the chat input) | Cycle through your AI models |
Cmd+N or Cmd+R (in the chat input) | Start a new chat |
Cmd+T | Open a new chat tab |
Ctrl+M | Voice input |
Shift+Tab is worth learning early. A common flow is to press Cmd+I, then Shift+Tab into Plan mode for a big task, review the plan, and switch back to Agent to build it.
Cmd+/ is handy when you want a quick answer from a fast model and then a deeper one from a stronger model, without opening the model picker. Note that in the editor itself, Cmd+/ still toggles a line comment, as in VS Code.
The Agents Window
Cursor also has an Agents Window for running several agents in parallel, locally or in the cloud. Open it from the command palette (Cmd+Shift+P, then type "Agents Window"). Some shortcuts behave differently there; for example, Cmd+K searches your conversations instead of starting an inline edit.
Accepting and Rejecting AI Changes
The next layer is handling the AI's output quickly.
Agent and Inline Edit Changes
When Agent or inline edit proposes changes, they appear as diffs in your files.
Cmd+Return Accept all suggested changes
Cmd+Shift+Backspace Reject all suggested changes
Cmd+Z Undo after accepting
You can also review and accept or reject individual changes in each file. For bigger rollbacks after an Agent run, use checkpoints in the chat timeline to restore files to an earlier point.
While Agent Is Working
You do not have to wait for Agent to finish. Type your next message and press Return to queue it. Agent picks it up when the current step is done.
Tab Completion
Tab Accept the full suggestion
Cmd+→ Accept the next word only (partial accept)
Escape Dismiss the suggestion
The partial accept with Cmd+→ is useful when a suggestion is close but not quite right. Accept the first part, then type the rest.
VS Code Navigation Shortcuts
Cursor is built on VS Code, so nearly all VS Code shortcuts work. A few defaults are taken over by Cursor's AI features (for example, Cmd+Shift+L and Cmd+K chords), so check the Keyboard Shortcuts editor if something does not behave as you expect. These navigation shortcuts make the biggest difference for speed.
File Navigation
Cmd+P Quick open: type to find and open any file
Cmd+Shift+P Command palette: search for any command
Cmd+B Toggle the sidebar
Cmd+` Toggle the integrated terminal
Cmd+\ Split the editor (add a new pane)
Cmd+W Close the current tab
Cmd+Shift+T Reopen the last closed tab
Cmd+P is one of the most valuable shortcuts in VS Code. Instead of clicking through the file tree, type a few characters of the filename and press Return.
Within a File
Cmd+F Find in file
Cmd+Option+F Find and replace in file
Ctrl+G Go to line number
Cmd+D Select the next occurrence of the current selection
Cmd+F2 Select all occurrences of the current word
Cmd+/ Toggle line comment
Option+↑/↓ Move line up or down
Shift+Option+↑/↓ Copy line up or down
Cmd+Shift+K Delete current line
Cmd+D for multi-cursor editing is especially powerful. Select a variable name and press Cmd+D repeatedly to add more matches, then type to edit them all at once.
Code Navigation
F12 Go to definition
Option+F12 Peek definition (inline, without leaving the file)
Shift+F12 Find all references
Cmd+Shift+O Go to symbol in file (functions, classes, etc.)
Ctrl+Tab Switch between open tabs
Ctrl+- Go back to the previous location
F12 to jump to a definition and Ctrl+- to jump back is one of the fastest ways to trace code. You can follow call chains without the mouse.
Editor Management
Cmd+1/2/3 Focus the first, second, or third editor group
Cmd+0 Focus the sidebar
Cmd+Shift+E Focus the file explorer
Cmd+Shift+F Global search across all files
Ctrl+Shift+G Open source control panel
The Command Palette
Cmd+Shift+P opens the command palette, a searchable list of every command in Cursor. It is the ultimate escape hatch. If you do not know the shortcut for something, open the palette and type what you want.
Cmd+Shift+P Open command palette
Some things you can find through the palette:
- "Agents Window": open the parallel agents view
- Commands to turn Tab completions on or off
- "Format Document": run the formatter on the current file
- "Rename Symbol": rename a variable or function everywhere it is used
- "Open Keyboard Shortcuts": browse and customize all keybindings
- "Toggle Word Wrap": wrap long lines
The palette also shows the shortcut for each command. Search for a command, note its shortcut, and use the shortcut next time.
Customizing Keybindings
Every shortcut in Cursor can be changed. If a default conflicts with another tool, or you want to match a different editor, open the Keyboard Shortcuts editor.
Cmd+Shift+P → "Open Keyboard Shortcuts"
You can also find it under Cursor Settings → Keyboard Shortcuts or the application menu's Preferences.
Searching and Changing Shortcuts
The editor is searchable. Type a command name or a current key combination to find it. Double-click the keybinding and press your new key combination to set it.
Using keybindings.json
For more control, edit keybindings.json directly. Open it from the palette with "Open Keyboard Shortcuts (JSON)":
[
{
"key": "ctrl+alt+cmd+s",
"command": "workbench.action.files.saveAll"
},
{
"key": "ctrl+alt+cmd+f",
"command": "editor.action.formatDocument",
"when": "editorTextFocus"
}
]
Before you pick a combination, type it into the Keyboard Shortcuts editor search to check it is not already in use. If it is, your new binding replaces the old one.
The when clause makes a shortcut context-sensitive: only active when the editor has focus, when a certain language is active, or when a panel is visible. To rebind a Cursor AI command, find it in the Keyboard Shortcuts editor first and copy its exact command ID from there.
Quick File Switching and Split Editors
Quick File Switching
Ctrl+Tab Cycle through recently opened files (hold Ctrl to keep the list open)
Cmd+P Type part of the filename to jump directly to it
For files you visit often, Ctrl+Tab is fastest. For anything else, Cmd+P with a few typed characters beats the mouse.
Split Editor Workflows
Splitting the editor lets you see two files at once. This is useful for:
- Keeping a test file next to the implementation
- Comparing an old and new version of a refactored function
- Working on a component while its types file stays visible
Cmd+\ Split current editor to the right
Cmd+1 Focus left editor group
Cmd+2 Focus right editor group
A common workflow: open your main file on the left, split with Cmd+\ to open the test file, then move between them with Cmd+1 and Cmd+2.
Building Muscle Memory
Knowing shortcuts is not enough. The goal is to use them without thinking, and that comes from deliberate repetition.
The One-Week Rule
Pick one shortcut you are not using yet and use it for a week, even when it feels slower. After a week, it becomes automatic. Then pick the next one.
Do not try to learn them all at once. Remembering many new shortcuts at the same time slows you down more than it helps.
Create a Personal Cheat Sheet
Write down the five shortcuts you use most and the five you want to learn next. Keep the list visible. When one becomes automatic, replace it.
Turn Off Mouse Navigation for One Session
For one coding session, do not click the file tree or use the mouse to navigate. Force yourself to use Cmd+P. It will feel slow at first and natural by the end.
Watch Your Habits
If you notice yourself reaching for the mouse for the same action again and again, that action is your next shortcut to learn.
Pro Tips for Maximum Speed
Use Cmd+I and Escape for a smooth AI loop. Press Cmd+I, describe what you want, press Return, then press Escape to return to the editor and review the diff. Accept with Cmd+Return. No mouse needed.
Use Cmd+Shift+L instead of copy and paste. Select the code you are asking about and send it straight to chat as context.
Plan big tasks with Shift+Tab. Switch to Plan mode before large changes, let Agent research and write a plan, edit it, then build.
Use Cmd+Shift+F before asking the AI. Before asking Cursor to change every usage of a function, search for it yourself. This confirms the scope before the AI acts.
Keep related work in one chat. If you accepted a change and want to refine it, continue the same chat so the AI keeps context. Start a new chat (Cmd+N in the chat input) when you switch to an unrelated task.
Use Tab early and often. Many developers ignore Tab completion. The ones who get the most from Cursor use it first: start typing, let the AI finish the thought, and keep typing to override when it is wrong.
Summary
Cursor's speed comes from a small set of AI shortcuts: Cmd+I or Cmd+L for the Agent side panel, Cmd+Shift+L to add a selection to chat, Cmd+K for inline edits, and Tab for completions. Add Shift+Tab to switch modes, Cmd+/ to cycle models, and Cmd+Return or Cmd+Shift+Backspace to accept or reject changes. Combine these with the VS Code navigation shortcuts you already know, use the command palette for everything else, customize keybindings where they get in your way, and practice until it is all automatic.
The developers who get the most out of Cursor are not always the ones using the most powerful features. They are the ones who move through the interface without friction, saving their energy for the actual problem.
Key Takeaways
Cmd+IandCmd+Lboth toggle the Agent side panel; there is no separate Composer panelCmd+Kis inline edit,Cmd+Shift+Ladds a selection to chat, andTabaccepts completionsShift+Tabin the chat input switches modes,Cmd+.there opens the mode menu, andCmd+/in the chat input cycles modelsCmd+Returnaccepts all suggested changes andCmd+Shift+Backspacerejects themCmd+→accepts a Tab suggestion one word at a time- Most VS Code shortcuts still work:
Cmd+Pfor quick open andF12for go to definition are the most valuable Cmd+Shift+Popens the command palette, which also helps you discover shortcuts- Keybindings are customizable in the Keyboard Shortcuts editor or
keybindings.json - Learn one new shortcut per week rather than all at once

