Zed keyboard shortcuts

Zed's default keymap is built around moving quickly through an editor, workspace, terminal, and agent panel. This reference covers the current built-in defaults across macOS, Linux, and Windows, including the context-sensitive keys that are most useful in daily work.

Windows, macOS, Linux · 186 shortcuts

Workspace and navigation

Open projects, move around the main regions, manage files and panels, and reach Zed's command-driven controls.

ActionWindowsmacOSLinux
Close the current windowCtrlShiftWCmdShiftWCtrlShiftW
Toggle workspace zoomShiftEscShiftEscShiftEsc
Open files or a projectCtrlOCmdOCtrlO
Open a projectTwo-stroke chord.CtrlKCtrlOCmdKCmdOCtrlKCtrlO
Increase the buffer font sizeCtrl=orCtrlShift=Cmd=Ctrl=
Decrease the buffer font sizeCtrl-Cmd-Ctrl-
Reset the buffer font sizeCtrl0Cmd0Ctrl0
Open the settings fileCtrlAlt,CmdAlt,CtrlAlt,
Quit ZedCtrlQCmdQCtrlQ
Start the debuggerF4F4F4
Rate edit predictionsThe current Windows default keymap does not assign this action a default key.Not documentedCtrlCmdZCtrlAltZ
Open the edit prediction menuCtrlShiftICtrlCmdICtrlAltShiftI
Open the language-server menuShiftAltLCtrlCmdLCtrlAltL
Display names for multiple cursorsNo Linux default is assigned in the current keymap.CtrlShiftAltCCtrlCmdCNot documented
Toggle worktree securityCtrlShiftAltSCtrlCmdSCtrlAltShiftS
Focus the next major workspace regionF6F6F6
Focus the previous major workspace regionShiftF6ShiftF6ShiftF6
Focus the next region without using plain F6Useful while a debugger has taken over F6.CtrlF6CmdF6CtrlF6
Toggle fullscreenF11FnForCtrlCmdFF11
Open a recent projectCtrlRCtrlRCtrlR
Open a recent branchShiftAltBCmdCtrlBCtrlAltShiftB
Open the worktree pickerShiftAltWCmdCtrlWCtrlAltShiftW
Run the action from a toastAltShiftEnterAltShiftEnterAltShiftEnter
Save the current bufferCtrlSCmdSCtrlS
Save without formattingTwo-stroke chord.CtrlKCtrlShiftSCmdKSCtrlKS
Save asCtrlShiftSCmdShiftSCtrlShiftS
Create a new fileCtrlNCmdNCtrlN
Create a new windowCtrlShiftNCmdShiftNCtrlShiftN

Panels, pickers, and tabs

Reach the command palette, file and symbol pickers, search panels, docks, tabs, and project navigation without leaving the keyboard.

ActionWindowsmacOSLinux
Open the command paletteF1orCtrlShiftPCmdShiftPF1orCtrlShiftP
Open the file finderCtrlPorCtrlECmdPCtrlPorCtrlE
Search symbols across the projectCtrlTCmdTCtrlT
Open project search with replaceCtrlShiftHCmdShiftHCtrlShiftH
Reopen the last closed itemCtrlShiftTCmdShiftTCtrlShiftT
Open the keymap editorTwo-stroke chord.CtrlKCtrlSCmdKCmdSCtrlKCtrlS
Open the theme selectorTwo-stroke chord.CtrlKCtrlTCmdKCmdTCtrlKCtrlT
Toggle light or dark modeTwo-stroke chord.CtrlKCtrlShiftTCmdKCmdShiftTCtrlKCtrlShiftT
Focus the project panelCtrlShiftECmdShiftECtrlShiftE
Focus the outline panelCtrlShiftBCmdShiftBCtrlShiftB
Open diagnosticsCtrlShiftMCmdShiftMCtrlShiftM
Focus the Git panelCtrlShiftGCtrlShiftGCtrlShiftG
Focus the debugger panelCtrlShiftDCmdShiftDCtrlShiftD
Focus the agent panelCtrlShift/Cmd?Ctrl?
Toggle the left dockCtrlBCmdBCtrlB
Toggle the right dockCtrlAltBCmdAltBCtrlAltB
Toggle the bottom dockCtrlJCmdJCtrlJ
Toggle the workspace sidebarCtrlAltJCmdAltJCtrlAltJ
Toggle all docksCtrlShiftYCmdAltYCtrlAltY
Open the tab switcherCtrlTabCtrlTabCtrlTab
Activate the previous tabThe tab switcher also supports Ctrl+Shift+Tab.CtrlPageUpAltCmdLeftCtrlPageUp
Activate the next tabCtrlPageDownAltCmdRightCtrlPageDown
Activate an item by number in the focused paneUse the corresponding number through 9; 0 activates the last item.Alt1Ctrl1Alt1
Close the active tab or itemCtrl+F4 also closes the active item on Windows and Linux.CtrlWCmdWCtrlW
Toggle pin for the active tabTwo-stroke chord.CtrlKShiftEnterCmdKShiftEnterCtrlKShiftEnter
Focus a pane in a directionUse Left, Up, or Down for the other directions.CtrlKCtrlRightCmdKCmdRightCtrlKCtrlRight
Swap the pane in a directionUse Left, Up, or Down for the other directions.CtrlKShiftRightCmdKShiftRightCtrlKShiftRight

Editor editing

Move through text, select and change code, format buffers, and use Zed's editor-specific commands in the current file.

ActionWindowsmacOSLinux
Cancel the current editor actionEscEscEsc
Delete the previous characterBackspaceBackspaceBackspace
Delete the next characterDeleteDeleteDelete
Indent or accept the current completionTabTabTab
Outdent or move to the previous completionShiftTabShiftTabShiftTab
Rewrap the current paragraphTwo-stroke chord.CtrlKCtrlQorCtrlKQCmdKCmdQorCmdKQCtrlKCtrlQorCtrlKQ
Delete to the previous wordCtrl+W is an additional macOS default.CtrlBackspaceAltBackspaceCtrlBackspace
Delete to the next wordCtrlDeleteAltDeleteCtrlDelete
Delete to the start of the lineThe current macOS editor keymap assigns this binding; Linux and Windows do not assign a default editor binding.Not documentedCmdBackspaceNot documented
Delete to the end of the lineThe current macOS editor keymap assigns this binding; Linux and Windows do not assign a default editor binding.Not documentedCmdDeleteNot documented
CutCtrlXCmdXCtrlX
CopyCtrlCCmdCCtrlC
PasteCtrlVCmdVCtrlV
UndoCtrlZCmdZCtrlZ
RedoCtrlYorCtrlShiftZCmdShiftZCtrlYorCtrlShiftZ
Move one characterRight, Up, and Down perform the corresponding movement.LeftLeftLeft
Move one lineDown performs the corresponding movement.UpUpUp
Move by wordUse Right for the next word.CtrlLeftAltLeftCtrlLeft
Move to the start of the lineCmd+Left is the macOS logical-line variant.HomeHomeHome
Move to the end of the lineCmd+Right is the macOS logical-line variant.EndEndEnd
Move to the start of the bufferCtrlHomeCmdUpCtrlHome
Move to the end of the bufferCtrlEndCmdDownCtrlEnd
Select all textCtrlACmdACtrlA
Select the current lineCtrlLCmdLCtrlL
Extend the selection upwardShiftUpShiftUpShiftUp
Extend the selection downwardShiftDownShiftDownShiftDown
IndentCtrl]Cmd]Ctrl]
OutdentCtrl[Cmd[Ctrl[
Format the current bufferShiftAltFCmdShiftICtrlShiftI
Organize importsAltShiftOAltShiftOAltShiftO
Insert a new line belowCtrlEnterCmdEnterCtrlEnter
Insert a new line aboveCtrlShiftEnterCmdShiftEnterCtrlShiftEnter
Toggle soft wrappingTwo-stroke chord.CtrlKCtrlZorCtrlKZCmdKZCtrlKCtrlZorCtrlKZ
Open the character paletteCtrlAltSpaceCtrlCmdSpaceCtrlAltSpace
Toggle line numbersCtrl;Cmd;Ctrl;
Show signature helpCtrlICmdICtrlI
Toggle edit predictionCtrlAltECtrlCmdECtrlAltShiftE
Toggle a breakpointF9F9F9
Edit a log breakpointShiftF9ShiftF9ShiftF9
Open the editor context menuThe Menu key is also a default on Windows and Linux.ShiftF10ShiftF10ShiftF10

Search, code navigation, and folds

Find text, navigate language-server results, apply quick fixes, comment code, and control folded regions in an editor.

ActionWindowsmacOSLinux
Find in the current bufferCtrlFCmdFCtrlF
Open replace in the current bufferThe current macOS base keymap does not assign Cmd+H because macOS uses it to hide the app; use Cmd+Alt+L to deploy search with selection search there.CtrlHNot documentedCtrlH
Select the next search matchF3F3F3
Select the previous search matchShiftF3ShiftF3ShiftF3
Go to a lineCtrlGCtrlGCtrlG
Open the text finderCtrlAltFCmdAltFCtrlAltF
Go to definitionF12F12F12
Open the definition in a splitAltF12AltF12AltF12
Go to the type definitionCtrlF12CmdF12CtrlF12
Go to implementationShiftF12ShiftF12ShiftF12
Find all referencesAltShiftF12AltShiftF12AltShiftF12
Rename the symbolF2F2F2
Show hover informationTwo-stroke chord.CtrlKCtrlICmdKCmdICtrlKCtrlI
Open code actionsCtrl.Cmd.Ctrl.
Toggle line commentsCtrl/Cmd/Ctrl/
Toggle block commentsShiftAltAShiftAltAShiftAltA
Go to the next diagnosticF8F8F8
Go to the previous diagnosticShiftF8ShiftF8ShiftF8
Fold the current regionThe physical key is layout-dependent; use the corresponding closing bracket to unfold.CtrlShift[AltCmd[Ctrl{
Unfold the current regionCtrlShift]AltCmd]Ctrl}
Toggle the current foldTwo-stroke chord.CtrlKCtrlLCmdKCmdLCtrlKCtrlL
Fold all regionsTwo-stroke chord.CtrlKCtrl0CmdKCmd0CtrlKCtrl0
Unfold all regionsTwo-stroke chord.CtrlKCtrlJCmdKCmdJCtrlKCtrlJ
Reveal the current file in the file managerTwo-stroke chord.CtrlKRCmdKRCtrlKR
Copy the current file pathTwo-stroke chord.CtrlKPCmdKPCtrlKP
Go to the next Git hunkThe current macOS default keymap does not assign a default for this action.Alt.Not documentedAlt.
Go to the previous Git hunkThe current macOS default keymap does not assign a default for this action.Alt,Not documentedAlt,

Agent panel

Start and steer agent threads, change profiles or modes, review edits, manage permissions, and control queued messages in Zed's agent panel.

ActionWindowsmacOSLinux
Start a new agent threadCtrlNCmdNCtrlN
Open agent settingsShiftAltCCmdAltCCtrlAltC
Open the agent options menuShiftAltICmdAltMShiftAltI
Open the new-thread menuCtrlShiftAltNCmdAltShiftNCtrlAltShiftN
Open the agent thread switcherCtrlTabCtrlTabCtrlTab
Open the thread switcher and select the previous threadCtrlShiftTabCtrlShiftTabCtrlShiftTab
Go back within the agent paneCtrl-Ctrl-Ctrl-
Manage agent profilesShiftAltPCmdAltPCtrlAltP
Manage agent skillsShiftAltLCmdAltLCtrlAltL
Toggle the active profile selectorCtrlICmdICtrlI
Cycle the agent modeShiftTabShiftTabShiftTab
Open the model selectorShiftAlt/CmdAlt/CtrlAlt/
Cycle favorite modelsAlt+L is the additional Linux and Windows binding where Alt+Tab is intercepted by the desktop.AltTaborAltLAltTabAltTaborAltL
Expand the agent message editorShiftAltEscShiftAltEscShiftAltEsc
Add the editor selection to the threadCtrlShift.Cmd>Ctrl>
Allow a requested action alwaysShiftAltQCmdAltYShiftAltQ
Allow a requested action onceShiftAltACmdYShiftAltA
Open the permission dropdownCtrlAltACmdAltACtrlAltA
Reject a requested action onceShiftAltXCmdAltZShiftAltX
Open the agent diffCtrlShiftRShiftCtrlRShiftCtrlR
Open the Git diff for the agent threadCtrlShiftDShiftCtrlDCtrlShiftD
Keep all agent editsShiftAltYShiftAltYShiftAltY
Reject all agent editsShiftAltZShiftAltZShiftAltZ
Send a message and keep following the agentCtrlEnterCmdEnterCtrlEnter
Send the agent message immediatelyCtrlShiftEnterCmdShiftEnterCtrlShiftEnter
Queue the next agent messageCtrlShiftAltEnterCmdShiftAltEnterCtrlShiftAltEnter
Remove the first queued messageCtrlShiftBackspaceCmdShiftBackspaceCtrlShiftBackspace
Edit the first queued messageCtrlAltECmdCtrlECtrlAltE
Steer the first queued messageCtrlAltSCmdCtrlSCtrlAltS
Clear the agent message queueCtrlAltBackspaceCmdAltBackspaceCtrlAltBackspace
Paste raw text into the agent editorCtrlShiftVCmdShiftVCtrlShiftV
Open the add-context menuCtrl;Ctrl;Ctrl;
Toggle agent thinking modeCtrlAltKCmdAltKCtrlAltK
Open the thinking-effort menuCtrlAlt'CmdAlt'CtrlAlt'
Cycle thinking effortCtrl'Ctrl'Ctrl'
Toggle fast modeCtrlAlt.CmdAlt.CtrlAlt.

Terminal and Git

Open and control integrated terminals, then stage, restore, commit, and synchronize changes from the Git panel.

ActionWindowsmacOSLinux
Toggle the terminal panelCtrl`Ctrl`Ctrl`
Open a new terminalCtrlShift`Ctrl~Ctrl~
Copy terminal selectionCtrlShiftCCmdCCtrlShiftC
Paste into the terminalCtrlShiftVCmdVCtrlShiftV
Clear the terminalCtrlShiftLCmdKCtrlShiftL
Search terminal outputCtrlShiftFCmdFCtrlShiftF
Select all terminal textCtrlShiftACmdACtrlShiftA
Scroll terminal output up one pageShiftPageUpShiftPageUpShiftPageUp
Scroll terminal output down one pageShiftPageDownShiftPageDownShiftPageDown
Scroll terminal output to the topShiftHomeShiftHomeShiftHome
Scroll terminal output to the bottomShiftEndShiftEndShiftEnd
Toggle vi-style navigation in the terminalCtrlShiftSpaceCtrlShiftSpaceCtrlShiftSpace
Open the Git panel's Changes tabCtrl1Ctrl1Ctrl1
Open the Git panel's History tabCtrl2Ctrl2Ctrl2
Stage all changesCtrlSpaceCmdCtrlYCtrlSpace
Unstage all changesCtrlShiftSpaceCmdCtrlShiftYCtrlShiftSpace
Fetch from the remoteCtrlGCtrlGCtrlGCtrlGCtrlGCtrlG
Push to the remoteCtrlGUpCtrlGUpCtrlGUp
Pull from the remoteCtrlGDownCtrlGDownCtrlGDown
Pull with rebaseCtrlGShiftDownCtrlGShiftDownCtrlGShiftDown
Force-push to the remoteCtrlGShiftUpCtrlGShiftUpCtrlGShiftUp
Open the Git diffCtrlGDCtrlGDCtrlGD
Restore tracked filesCtrlGBackspaceCtrlGBackspaceCtrlGBackspace
Trash untracked filesCtrlGShiftBackspaceCtrlGShiftBackspaceCtrlGShiftBackspace
Commit from the Git panelCtrlEnterCmdEnterCtrlEnter
Amend the current commitCtrlShiftEnterCmdShiftEnterCtrlShiftEnter
Generate a commit message in the commit editorAltLAltTabAltL

Make a printable Zed sheet