Editing
193Editor actions
alt-tabeditor::AcceptEditPredictiontabeditor::AcceptEditPredictionctrl-cmd-downeditor::AcceptNextLineEditPredictionctrl-cmd-righteditor::AcceptNextWordEditPredictioncmd-ctrl-peditor::AddSelectionAbove {"skip_soft_wrap": false}cmd-alt-upeditor::AddSelectionAbove {"skip_soft_wrap": true}cmd-ctrl-neditor::AddSelectionBelow {"skip_soft_wrap": false}cmd-alt-downeditor::AddSelectionBelow {"skip_soft_wrap": true}shift-backspace · ctrl-h · backspaceeditor::Backspaceshift-tabeditor::Backtabcmd-k cmd-beditor::BlameHoverescapeeditor::Canceltabeditor::ComposeCompletionentereditor::ConfirmCodeActionentereditor::ConfirmCompletionshift-entereditor::ConfirmCompletionReplaceentereditor::ConfirmRenamepageupeditor::ContextMenuFirstpagedowneditor::ContextMenuLastdown · ctrl-neditor::ContextMenuNextup · ctrl-peditor::ContextMenuPreviouscmd-ceditor::Copycmd-k peditor::CopyPathcmd-xeditor::Cutctrl-d · deleteeditor::Deletecmd-shift-keditor::DeleteLinecmd-backspaceeditor::DeleteToBeginningOfLinecmd-deleteeditor::DeleteToEndOfLinectrl-alt-delete · ctrl-alt-deditor::DeleteToNextSubwordEndalt-deleteeditor::DeleteToNextWordEnd {"ignore_newlines": false, "ignore_br…ctrl-alt-backspace · ctrl-alt-heditor::DeleteToPreviousSubwordStartalt-backspace · ctrl-weditor::DeleteToPreviousWordStart {"ignore_newlines": false, "ignore_br…ctrl-cmd-ceditor::DisplayCursorNamesctrl-alt-shift-ceditor::DisplayCursorNamesalt-shift-downeditor::DuplicateLineDownalt-shift-upeditor::DuplicateLineUpshift-f9editor::EditLogBreakpointcmd-"editor::ExpandAllDiffHunksshift-entereditor::ExpandExcerptsalt-shift-f12editor::FindAllReferencesalt-cmd-[editor::Foldcmd-k cmd-0editor::FoldAllcmd-k cmd-1editor::FoldAtLevel_1cmd-k cmd-2editor::FoldAtLevel_2cmd-k cmd-3editor::FoldAtLevel_3cmd-k cmd-4editor::FoldAtLevel_4cmd-k cmd-5editor::FoldAtLevel_5cmd-k cmd-6editor::FoldAtLevel_6cmd-k cmd-7editor::FoldAtLevel_7cmd-k cmd-8editor::FoldAtLevel_8cmd-k cmd-9editor::FoldAtLevel_9cmd-k cmd-[editor::FoldRecursivecmd-shift-ieditor::Formatctrl-f12editor::GoToDeclarationalt-ctrl-f12editor::GoToDeclarationSplitf12editor::GoToDefinitionalt-f12editor::GoToDefinitionSplitf8editor::GoToDiagnostic {"severity": {"min": "hint", "max": "…cmd-f8editor::GoToHunkalt-.editor::GoToHunkshift-f12editor::GoToImplementationcmd-shift-alt-backspaceeditor::GoToNextChangecmd-shift-backspaceeditor::GoToPreviousChangeshift-f8editor::GoToPreviousDiagnostic {"severity": {"min": "hint", "max": "…cmd-shift-f8editor::GoToPreviousHunkalt-,editor::GoToPreviousHunkcmd-f12editor::GoToTypeDefinitionalt-cmd-f12editor::GoToTypeDefinitionSplitcmd-k cmd-ieditor::Hovercmd-]editor::Indentctrl-jeditor::JoinLinesctrl-keditor::KillRingCutctrl-yeditor::KillRingYankctrl-pagedowneditor::LineDownctrl-pageupeditor::LineUpdown · ctrl-neditor::MoveDownctrl-b · lefteditor::MoveLeftalt-downeditor::MoveLineDownalt-upeditor::MoveLineUppagedowneditor::MovePageDownctrl-veditor::MovePageDown {"center_cursor": true}pageupeditor::MovePageUpctrl-shift-veditor::MovePageUp {"center_cursor": true}ctrl-f · righteditor::MoveRightcmd-up · cmd-homeeditor::MoveToBeginningctrl-aeditor::MoveToBeginningOfLine {"stop_at_soft_wraps": false, "stop_a…cmd-left · homeeditor::MoveToBeginningOfLine {"stop_at_soft_wraps": true, "stop_at…cmd-| · ctrl-meditor::MoveToEnclosingBracketcmd-down · cmd-endeditor::MoveToEndctrl-eeditor::MoveToEndOfLine {"stop_at_soft_wraps": false}cmd-right · endeditor::MoveToEndOfLine {"stop_at_soft_wraps": true}ctrl-downeditor::MoveToEndOfParagraphctrl-alt-right · ctrl-alt-feditor::MoveToNextSubwordEndalt-righteditor::MoveToNextWordEndctrl-alt-left · ctrl-alt-beditor::MoveToPreviousSubwordStartalt-lefteditor::MoveToPreviousWordStartcmd-upeditor::MoveToStartOfExcerptcmd-downeditor::MoveToStartOfNextExcerptctrl-upeditor::MoveToStartOfParagraphup · ctrl-peditor::MoveUpentereditor::Newlinealt-entereditor::Newlinectrl-entereditor::Newlinectrl-entereditor::Newlineentereditor::Newlineentereditor::Newlinectrl-enter · shift-entereditor::Newlineshift-enter · entereditor::Newlineentereditor::Newlineentereditor::Newlinectrl-entereditor::Newlinecmd-shift-entereditor::NewlineAbovectrl-shift-entereditor::NewlineBelowcmd-entereditor::NewlineBelowalt-tabeditor::NextEditPredictiontabeditor::NextSnippetTabstopmenu · shift-f10editor::OpenContextMenualt-entereditor::OpenExcerptsalt-entereditor::OpenExcerptsalt-entereditor::OpenExcerptscmd-alt-entereditor::OpenExcerptsSplitcmd-alt-entereditor::OpenExcerptsSplitalt-entereditor::OpenSelectionsInMultibufferalt-shift-oeditor::OrganizeImportscmd-[editor::Outdentcmd-pagedowneditor::PageDowncmd-pageupeditor::PageUpcmd-veditor::Pastealt-shift-tabeditor::PreviousEditPredictionshift-tabeditor::PreviousSnippetTabstopcmd-shift-zeditor::Redocmd-shift-ueditor::RedoSelectionf2editor::Renamecmd-k reditor::RevealInFileManagercmd-k reditor::RevealInFileManagercmd-k cmd-q · cmd-k qeditor::Rewrapctrl-leditor::ScrollCursorCentercmd-aeditor::SelectAllcmd-aeditor::SelectAllcmd-shift-l · cmd-f2editor::SelectAllMatchesshift-down · ctrl-shift-neditor::SelectDowncmd-alt-eeditor::SelectEnclosingSymbolcmd-ctrl-right · ctrl-shift-righteditor::SelectLargerSyntaxNodeshift-left · ctrl-shift-beditor::SelectLeftcmd-leditor::SelectLinecmd-deditor::SelectNext {"replace_newest": false}cmd-k cmd-deditor::SelectNext {"replace_newest": true}cmd-ctrl-downeditor::SelectNextSyntaxNodeshift-pagedowneditor::SelectPageDownshift-pageupeditor::SelectPageUpctrl-cmd-deditor::SelectPrevious {"replace_newest": false}cmd-k ctrl-cmd-deditor::SelectPrevious {"replace_newest": true}cmd-ctrl-upeditor::SelectPreviousSyntaxNodeshift-right · ctrl-shift-feditor::SelectRightcmd-ctrl-left · ctrl-shift-lefteditor::SelectSmallerSyntaxNodecmd-shift-upeditor::SelectToBeginningcmd-shift-left · shift-home · ctrl-shift-aeditor::SelectToBeginningOfLine {"stop_at_soft_wraps": true, "stop_at…cmd-shift-downeditor::SelectToEndcmd-shift-right · shift-end · ctrl-shift-eeditor::SelectToEndOfLine {"stop_at_soft_wraps": true}ctrl-shift-downeditor::SelectToEndOfParagraphctrl-alt-shift-right · ctrl-alt-shift-feditor::SelectToNextSubwordEndalt-shift-righteditor::SelectToNextWordEndctrl-alt-shift-left · ctrl-alt-shift-beditor::SelectToPreviousSubwordStartalt-shift-lefteditor::SelectToPreviousWordStartcmd-shift-upeditor::SelectToStartOfExcerptcmd-shift-downeditor::SelectToStartOfNextExcerptctrl-shift-upeditor::SelectToStartOfParagraphshift-up · ctrl-shift-peditor::SelectUpctrl-cmd-spaceeditor::ShowCharacterPalettectrl-spaceeditor::ShowCompletionsalt-tabeditor::ShowEditPredictioncmd-ieditor::ShowSignatureHelpctrl-shift-spaceeditor::ShowWordCompletionsdowneditor::SignatureHelpNextupeditor::SignatureHelpPrevioustabeditor::Tabcmd-k cmd-/ · shift-alt-aeditor::ToggleBlockCommentsf9editor::ToggleBreakpointcmd-.editor::ToggleCodeActionscmd-/editor::ToggleComments {"advance_downwards": false}ctrl-cmd-eeditor::ToggleEditPredictioncmd-k cmd-leditor::ToggleFoldcmd-shift-entereditor::ToggleFoldAllctrl-:editor::ToggleInlayHintscmd-;editor::ToggleLineNumberscmd-'editor::ToggleSelectedDiffHunkscmd-k zeditor::ToggleSoftWrapctrl-teditor::Transposecmd-zeditor::Undocmd-ueditor::UndoSelectioncmd-k cmd-jeditor::UnfoldAllalt-cmd-]editor::UnfoldLinescmd-k cmd-]editor::UnfoldRecursiveNavigation & Search
129Workspace — finding files, symbols and panels
cmd-1workspace::ActivatePane 0cmd-2workspace::ActivatePane 1cmd-3workspace::ActivatePane 2cmd-4workspace::ActivatePane 3cmd-5workspace::ActivatePane 4cmd-6workspace::ActivatePane 5cmd-7workspace::ActivatePane 6cmd-8workspace::ActivatePane 7cmd-9workspace::ActivatePane 8cmd-k cmd-downworkspace::ActivatePaneDowncmd-k cmd-leftworkspace::ActivatePaneLeftcmd-k cmd-rightworkspace::ActivatePaneRightcmd-k cmd-upworkspace::ActivatePaneUpcmd-shift-aworkspace::AddFolderToProjectcmd-wworkspace::CloseActiveDockcmd-k cmd-wworkspace::CloseAllItemsAndPanesctrl-alt-cmd-wworkspace::CloseInactiveTabsAndPanescmd-shift-wworkspace::CloseWindowcmd-w · escapeworkspace::CloseWindowcmd-wworkspace::CloseWindowcmd-wworkspace::CloseWindowcmd-alt-cworkspace::CopyPathcmd-alt-cworkspace::CopyPathcmd-alt-cworkspace::CopyPathalt-cmd-shift-cworkspace::CopyRelativePathalt-cmd-shift-cworkspace::CopyRelativePathalt-cmd-shift-cworkspace::CopyRelativePathctrl-alt--workspace::DecreaseActiveDockSize {"px": 0}ctrl-alt-_workspace::DecreaseOpenDocksSize {"px": 0}f6 · cmd-f6workspace::FocusNextPartshift-f6workspace::FocusPreviousPartctrl-alt-cmd-fworkspace::FollowNextCollaboratorctrl-alt-=workspace::IncreaseActiveDockSize {"px": 0}ctrl-alt-+workspace::IncreaseOpenDocksSize {"px": 0}cmd-nworkspace::NewFilenew · ctrl-nworkspace::NewFilecmd-nworkspace::NewFilecmd-nworkspace::NewTerminalctrl-~workspace::NewTerminalcmd-shift-nworkspace::NewWindowcmd-oworkspace::Openctrl-k ctrl-oworkspace::Openctrl-oworkspace::OpenFilesctrl-shift-enterworkspace::OpenWithSystemctrl-shift-enterworkspace::OpenWithSystemcmd-k cmd-pworkspace::ReopenLastPickerctrl-alt-0workspace::ResetActiveDockSizectrl-alt-)workspace::ResetOpenDocksSizecmd-sworkspace::Savecmd-alt-sworkspace::SaveAllcmd-shift-sworkspace::SaveAscmd-k sworkspace::SaveWithoutFormatcmd-k shift-downworkspace::SwapPaneDowncmd-k shift-leftworkspace::SwapPaneLeftcmd-k shift-rightworkspace::SwapPaneRightcmd-k shift-upworkspace::SwapPaneUpalt-cmd-yworkspace::ToggleAllDockscmd-jworkspace::ToggleBottomDockcmd-bworkspace::ToggleLeftDockcmd-alt-b · cmd-rworkspace::ToggleRightDockctrl-cmd-sworkspace::ToggleWorktreeSecurityshift-escapeworkspace::ToggleZoomescapeworkspace::UnfollowBuffer search
cmd-fbuffer_search::Deploycmd-alt-lbuffer_search::Deploy {"selection_search_enabled": true}cmd-fbuffer_search::Deploycmd-fbuffer_search::Deployctrl-hbuffer_search::DeployReplaceescapebuffer_search::Dismisstabbuffer_search::FocusEditorcmd-ebuffer_search::UseSelectionForFindProject search
alt-cmd-fproject_search::OpenTextFinderalt-cmd-fproject_search::OpenTextFindercmd-enterproject_search::SearchInNewctrl-shift-enterproject_search::ToggleAllSearchResultscmd-shift-enterproject_search::ToggleAllSearchResultscmd-shift-enterproject_search::ToggleAllSearchResultsalt-find · alt-ctrl-fproject_search::ToggleFilterscmd-shift-jproject_search::ToggleFilterscmd-shift-jproject_search::ToggleFilterscmd-fproject_search::ToggleFocusescapeproject_search::ToggleFocusescapeproject_search::ToggleFocusSearch bar
cmd-fsearch::FocusSearchcmd-fsearch::FocusSearchcmd-fsearch::FocusSearchcmd-shift-fsearch::FocusSearchcmd-fsearch::FocusSearchdownsearch::NextHistoryQuerydownsearch::NextHistoryQueryupsearch::PreviousHistoryQueryupsearch::PreviousHistoryQuerycmd-entersearch::ReplaceAllcmd-entersearch::ReplaceAllentersearch::ReplaceNextentersearch::ReplaceNextalt-entersearch::SelectAllMatchesalt-entersearch::SelectAllMatchesentersearch::SelectNextMatchcmd-gsearch::SelectNextMatchshift-entersearch::SelectPreviousMatchshift-entersearch::SelectPreviousMatchcmd-shift-gsearch::SelectPreviousMatchalt-cmd-csearch::ToggleCaseSensitivealt-cmd-csearch::ToggleCaseSensitivecmd-shift-isearch::ToggleIncludeIgnoredalt-cmd-xsearch::ToggleRegexalt-cmd-xsearch::ToggleRegexalt-cmd-g · alt-cmd-xsearch::ToggleRegexalt-cmd-g · alt-cmd-xsearch::ToggleRegexctrl-hsearch::ToggleReplacecmd-shift-hsearch::ToggleReplacecmd-shift-hsearch::ToggleReplacecmd-shift-hsearch::ToggleReplacecmd-alt-lsearch::ToggleSelectioncmd-alt-lsearch::ToggleSelectionalt-cmd-wsearch::ToggleWholeWordalt-cmd-wsearch::ToggleWholeWordTab switcher
ctrl-backspacetab_switcher::CloseSelectedItemctrl-tabtab_switcher::Togglectrl-shift-tabtab_switcher::Toggle {"select_last": true}Outline panel
leftoutline_panel::CollapseSelectedEntryalt-copy · ctrl-alt-coutline_panel::CopyPathrightoutline_panel::ExpandSelectedEntryspaceoutline_panel::OpenSelectedEntryalt-cmd-routline_panel::RevealInFileManagercmd-shift-boutline_panel::ToggleFocusCall hierarchy
cmd-k cmd-hcall_hierarchy::ShowIncomingCallscmd-k cmd-hcall_hierarchy::ToggleDirectionPanes, Tabs & Windows
132Pane and tab management
ctrl-1pane::ActivateItem 0ctrl-2pane::ActivateItem 1ctrl-3pane::ActivateItem 2ctrl-4pane::ActivateItem 3ctrl-5pane::ActivateItem 4ctrl-6pane::ActivateItem 5ctrl-7pane::ActivateItem 6ctrl-8pane::ActivateItem 7ctrl-9pane::ActivateItem 8ctrl-0pane::ActivateLastItemalt-cmd-right · cmd-}pane::ActivateNextItemctrl-tabpane::ActivateNextItemalt-cmd-left · cmd-{pane::ActivatePreviousItemctrl-shift-tabpane::ActivatePreviousItemcmd-wpane::CloseActiveItem {"close_pinned": false}ctrl-shift-wpane::CloseActiveItemcmd-k wpane::CloseAllItems {"close_pinned": false}cmd-k upane::CloseCleanItems {"close_pinned": false}cmd-k epane::CloseItemsToTheLeft {"close_pinned": false}cmd-k tpane::CloseItemsToTheRight {"close_pinned": false}alt-cmd-tpane::CloseOtherItems {"close_pinned": false}cmd-shift-fpane::DeploySearchcmd-shift-fpane::DeploySearchcmd-shift-hpane::DeploySearch {"replace_enabled": true}ctrl--pane::GoBackctrl--pane::GoBackctrl--pane::GoBackctrl-_pane::GoForwardcmd-shift-tpane::ReopenClosedItemcmd-shift-epane::RevealInProjectPanelcmd-k downpane::SplitDownctrl-alt-downpane::SplitDowncmd-k leftpane::SplitLeftctrl-alt-leftpane::SplitLeftcmd-\pane::SplitRightcmd-k rightpane::SplitRightctrl-alt-right · cmd-dpane::SplitRightcmd-k uppane::SplitUpctrl-alt-uppane::SplitUpctrl-shift-pageuppane::SwapItemLeftctrl-shift-pagedownpane::SwapItemRightcmd-k shift-enterpane::TogglePinTabApplication
cmd--zed::DecreaseBufferFontSize {"persist": false}cmd--zed::DecreaseUiFontSize {"persist": false}cmd--zed::DecreaseUiFontSize {"persist": false}cmd-shift-xzed::Extensionscmd-hzed::Hidealt-cmd-hzed::HideOtherscmd-= · cmd-+zed::IncreaseBufferFontSize {"persist": false}cmd-= · cmd-+zed::IncreaseUiFontSize {"persist": false}cmd-= · cmd-+zed::IncreaseUiFontSize {"persist": false}cmd-mzed::Minimizecmd-k cmd-szed::OpenKeymapcmd-ezed::OpenKeymapFilecmd-,zed::OpenSettingscmd-alt-,zed::OpenSettingsFilecmd-shift-czed::OpenWorktreeSetupTaskscmd-qzed::Quitcmd-0zed::ResetBufferFontSize {"persist": false}cmd-0zed::ResetUiFontSize {"persist": false}cmd-0zed::ResetUiFontSize {"persist": false}fn-f · ctrl-cmd-fzed::ToggleFullScreenMenus and pickers
cmd-escape · ctrl-escape · ctrl-c · escapemenu::Cancelescapemenu::Cancelf10menu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelescapemenu::Cancelentermenu::Confirmcmd-entermenu::Confirmentermenu::Confirmentermenu::Confirmspacemenu::Confirmcmd-entermenu::Confirmentermenu::Confirmentermenu::Confirmentermenu::Confirmcmd-entermenu::Confirmentermenu::Confirmspacemenu::Confirmalt-shift-entermenu::Restartctrl-enter · cmd-entermenu::SecondaryConfirmalt-entermenu::SecondaryConfirmcmd-k rightmenu::SelectChildrightmenu::SelectChildrightmenu::SelectChildhome · shift-pageup · pageup · cmd-upmenu::SelectFirstend · shift-pagedown · pagedown · cmd-downmenu::SelectLasttab · ctrl-n · downmenu::SelectNextdown · shift-downmenu::SelectNextdownmenu::SelectNextdownmenu::SelectNextshift-downmenu::SelectNextdownmenu::SelectNextdownmenu::SelectNextshift-downmenu::SelectNextright · lmenu::SelectNextctrl-downmenu::SelectNextcmd-k leftmenu::SelectParentleftmenu::SelectParentleftmenu::SelectParentshift-tab · ctrl-p · upmenu::SelectPreviousup · shift-upmenu::SelectPreviousupmenu::SelectPreviousupmenu::SelectPreviousshift-upmenu::SelectPreviousupmenu::SelectPreviousupmenu::SelectPreviousshift-upmenu::SelectPreviousleft · hmenu::SelectPreviousctrl-shift-tab · ctrl-upmenu::SelectPreviousPickers
tabpicker::ConfirmCompletionalt-enterpicker::ConfirmInput {"secondary": false}ctrl-alt-enterpicker::ConfirmInput {"secondary": true}alt-enterpicker::ConfirmInput {"secondary": false}cmd-alt-enterpicker::ConfirmInput {"secondary": true}Multiple workspaces
cmd-alt-;multi_workspace::FocusWorkspaceSidebarcmd-alt-jmulti_workspace::ToggleWorkspaceSidebarRecent projects
cmd-shift-enterrecent_projects::AddToWorkspaceshift-backspacerecent_projects::RemoveSelectedcmd-krecent_projects::ToggleActionsMenuProjects
alt-cmd-o · ctrl-rprojects::OpenRecentctrl-cmd-oprojects::OpenRemote {"from_existing_connection": false}ctrl-cmd-shift-oprojects::OpenRemote {"from_existing_connection": true}Worktrees
cmd-shift-backspaceworktree_picker::DeleteWorktreecmd-alt-shift-backspaceworktree_picker::ForceDeleteWorktreeProject Panel
23The file tree
cmd-leftproject_panel::CollapseAllEntriesleftproject_panel::CollapseSelectedEntryalt-dproject_panel::CompareMarkedFilescmd-cproject_panel::Copyalt-copy · ctrl-alt-cproject_panel::CopyPathcmd-xproject_panel::Cutcmd-delete · cmd-alt-backspaceproject_panel::Delete {"skip_prompt": false}cmd-dproject_panel::Duplicatecmd-rightproject_panel::ExpandAllEntriesrightproject_panel::ExpandSelectedEntryalt-cmd-nproject_panel::NewDirectorycmd-nproject_panel::NewFilecmd-alt-shift-fproject_panel::NewSearchInDirectoryspaceproject_panel::Opencmd-vproject_panel::Pastecmd-shift-zproject_panel::Redoenter · f2project_panel::Renamealt-cmd-rproject_panel::RevealInFileManagercmd-shift-eproject_panel::ToggleFocuscmd-shift-eproject_panel::ToggleFocusbackspace · deleteproject_panel::Trash {"skip_prompt": false}cmd-backspaceproject_panel::Trash {"skip_prompt": true}cmd-zproject_panel::UndoGit
72Git actions
cmd-shift-entergit::Amendcmd-shift-entergit::Amendcmd-shift-entergit::Amendcmd-shift-entergit::Amendctrl-spacegit::ApplyCurrentStashcmd-alt-g bgit::Blameescapegit::Cancelcmd-entergit::Commitcmd-entergit::Commitcmd-entergit::Commitcmd-entergit::Commitshift-ctrl-dgit::Diffctrl-g dgit::Diffctrl-shift-backspacegit::DropCurrentStashshift-escapegit::ExpandCommitEditorctrl-g ctrl-ggit::Fetchctrl-g shift-upgit::ForcePushalt-tabgit::GenerateCommitMessagealt-tabgit::GenerateCommitMessagecmd-alt-g mgit::OpenModifiedFilesctrl-shift-spacegit::PopCurrentStashctrl-g downgit::Pullctrl-g shift-downgit::PullRebasectrl-g upgit::Pushctrl-k ctrl-rgit::Restorecmd-alt-zgit::Restorecmd-alt-zgit::RestoreAndNextbackspace · deletegit::RestoreFile {"skip_prompt": false}cmd-backspace · cmd-deletegit::RestoreFile {"skip_prompt": true}ctrl-g backspacegit::RestoreTrackedFilescmd-alt-g rgit::ReviewDiffcmd-ctrl-ygit::StageAllcmd-ctrl-ygit::StageAllalt-ygit::StageAndNextcmd-ygit::StageAndNextcmd-ygit::StageFileshift-spacegit::StageRangealt-shift-escapegit::ToggleFillCommitEditorctrl-alt-ygit::ToggleStagedcmd-alt-ygit::ToggleStagedcmd-alt-y · spacegit::ToggleStagedctrl-g shift-backspacegit::TrashUntrackedFilescmd-ctrl-shift-ygit::UnstageAllcmd-ctrl-shift-ygit::UnstageAllalt-shift-ygit::UnstageAndNextcmd-shift-ygit::UnstageAndNextcmd-shift-ygit::UnstageFilecmd-ctrl-wgit::WorktreeGit panel
cmd-1git_panel::ActivateChangesTabcmd-2git_panel::ActivateHistoryTableftgit_panel::CollapseSelectedEntryrightgit_panel::ExpandSelectedEntrycmd-upgit_panel::FirstEntrytab · shift-tab · alt-upgit_panel::FocusChangesalt-down · tab · shift-tabgit_panel::FocusEditorcmd-downgit_panel::LastEntrydowngit_panel::NextEntryupgit_panel::PreviousEntryctrl-shift-ggit_panel::ToggleFocusGit graph
tabgit_graph::FocusNextTabStoptabgit_graph::FocusNextTabStopshift-tabgit_graph::FocusPreviousTabStopshift-tabgit_graph::FocusPreviousTabStopBranch and ref pickers
cmd-1git_picker::ActivateBranchesTabcmd-2git_picker::ActivateStashTabBranch picker
cmd-shift-ibranch_picker::CycleBranchFiltercmd-shift-backspacebranch_picker::DeleteBranchcmd-alt-shift-backspacebranch_picker::ForceDeleteBranchcmd-kbranch_picker::ToggleFilterMenuBranches
cmd-ctrl-bbranches::OpenRecentStash
ctrl-shift-backspacestash_picker::DropStashItemctrl-shift-vstash_picker::ShowStashItemAI & the Agent Panel
124Agent panel and threads
cmd->agent::AddSelectionToThreadcmd->agent::AddSelectionToThreadcmd->agent::AddSelectionToThreadcmd-alt-yagent::AllowAlwayscmd-yagent::AllowOncebackspaceagent::ArchiveSelectedThreadshift-backspaceagent::ArchiveSelectedThreadenteragent::Chatcmd-enteragent::Chatcmd-enteragent::ChatWithFollowcmd-alt-backspaceagent::ClearMessageQueuealt-tabagent::CycleFavoriteModelsalt-tabagent::CycleFavoriteModelsalt-tabagent::CycleFavoriteModelsshift-tabagent::CycleModeSelectorshift-tabagent::CycleModeSelectorctrl-]agent::CycleNextInlineAssistctrl-]agent::CycleNextInlineAssistctrl-[agent::CyclePreviousInlineAssistctrl-[agent::CyclePreviousInlineAssistctrl-'agent::CycleThinkingEffortescapeagent::DismissThreadSearchcmd-ctrl-eagent::EditFirstQueuedMessageshift-alt-escapeagent::ExpandMessageEditorcmd-y · cmd-alt-yagent::Keepcmd-y · cmd-alt-yagent::Keepshift-alt-yagent::KeepAllshift-alt-yagent::KeepAllshift-alt-yagent::KeepAllcmd-alt-pagent::ManageProfilescmd-alt-lagent::ManageSkillscmd-nagent::NewThreadcmd-nagent::NewThreadcmd-nagent::NewThreadctrl-;agent::OpenAddContextMenushift-ctrl-ragent::OpenAgentDiffshift-ctrl-ragent::OpenAgentDiffcmd-alt-aagent::OpenPermissionDropdowncmd-alt-cagent::OpenSettingscmd-shift-vagent::PasteRawcmd-alt-zagent::Rejectcmd-alt-zagent::Rejectshift-alt-zagent::RejectAllshift-alt-zagent::RejectAllshift-alt-zagent::RejectAllcmd-alt-zagent::RejectOncecmd-shift-backspaceagent::RemoveFirstQueuedMessagebackspaceagent::RemoveSelectedThreadshift-backspaceagent::RemoveSelectedThreadcmd-shift-backspaceagent::RemoveSelectedThreadshift-ragent::RenameSelectedThreaddown · ctrl-alt-downagent::ScrollOutputLineDownctrl-alt-downagent::ScrollOutputLineDownup · ctrl-alt-upagent::ScrollOutputLineUpctrl-alt-upagent::ScrollOutputLineUppagedown · ctrl-pagedownagent::ScrollOutputPageDownctrl-pagedownagent::ScrollOutputPageDownpagedown · ctrl-pagedownagent::ScrollOutputPageDownpageup · ctrl-pageupagent::ScrollOutputPageUpctrl-pageupagent::ScrollOutputPageUppageup · ctrl-pageupagent::ScrollOutputPageUpend · ctrl-endagent::ScrollOutputToBottomctrl-endagent::ScrollOutputToBottomctrl-endagent::ScrollOutputToBottomshift-pagedown · ctrl-alt-pagedownagent::ScrollOutputToNextMessagectrl-alt-pagedownagent::ScrollOutputToNextMessageshift-pageup · ctrl-alt-pageupagent::ScrollOutputToPreviousMessagectrl-alt-pageupagent::ScrollOutputToPreviousMessagehome · ctrl-homeagent::ScrollOutputToTopctrl-homeagent::ScrollOutputToTopctrl-homeagent::ScrollOutputToTopcmd-gagent::SelectNextThreadMatchenteragent::SelectNextThreadMatchcmd-shift-gagent::SelectPreviousThreadMatchshift-enteragent::SelectPreviousThreadMatchshift-enteragent::SelectPreviousThreadMatchcmd-shift-enteragent::SendImmediatelycmd-shift-alt-enteragent::SendNextQueuedMessagecmd-alt-.agent::ToggleFastModecmd-?agent::ToggleFocuscmd-alt-/agent::ToggleModelSelectorcmd-alt-/agent::ToggleModelSelectorcmd-alt-shift-nagent::ToggleNewThreadMenucmd-alt-magent::ToggleOptionsMenucmd-iagent::ToggleProfileSelectorcmd-iagent::ToggleProfileSelectorcmd-fagent::ToggleSearchcmd-fagent::ToggleSearchcmd-fagent::ToggleSearchcmd-ctrl-sagent::ToggleSteerFirstQueuedMessagecmd-alt-'agent::ToggleThinkingEffortMenucmd-alt-kagent::ToggleThinkingModeshift-alt-uagent::UndoLastRejectAgents sidebar
cmd-fagents_sidebar::FocusSidebarFiltercmd-nagents_sidebar::NewThreadInGroupcmd-gagents_sidebar::ToggleThreadHistoryctrl-tabagents_sidebar::ToggleThreadSwitcherctrl-shift-tabagents_sidebar::ToggleThreadSwitcher {"select_last": true}ctrl-tabagents_sidebar::ToggleThreadSwitcherctrl-shift-tabagents_sidebar::ToggleThreadSwitcher {"select_last": true}ctrl-tabagents_sidebar::ToggleThreadSwitcherctrl-shift-tabagents_sidebar::ToggleThreadSwitcher {"select_last": true}Assistant
ctrl-enterassistant::InlineAssistctrl-enterassistant::InlineAssistInline assistant
ctrl-shift-backspaceinline_assistant::ThumbsDownResultcmd-shift-backspaceinline_assistant::ThumbsDownResultctrl-shift-enterinline_assistant::ThumbsUpResultcmd-shift-enterinline_assistant::ThumbsUpResultEdit prediction (Zeta)
escapezeta::FocusPredictionsshift-downzeta::NextEditrightzeta::PreviewPredictionshift-upzeta::PreviousEditcmd-shift-backspacezeta::ThumbsDownActivePredictioncmd-shift-backspacezeta::ThumbsDownActivePredictioncmd-shift-enterzeta::ThumbsUpActivePredictioncmd-shift-enterzeta::ThumbsUpActivePredictionEdit prediction
ctrl-cmd-zedit_prediction::RatePredictionsctrl-cmd-iedit_prediction::ToggleMenuSkills
tabskill_creator::FocusNextFieldtabskill_creator::FocusNextFieldshift-tabskill_creator::FocusPreviousFieldshift-tabskill_creator::FocusPreviousFieldcmd-enterskill_creator::SaveSkillcmd-enterskill_creator::SaveSkillTerminal & Tasks
45Terminal
cmd-kterminal::Clearcmd-cterminal::Copycmd-vterminal::Pastectrl-cmd-vterminal::PasteTextcmd-alt-rterminal::RerunTaskshift-downterminal::ScrollLineDownshift-upterminal::ScrollLineUpshift-pagedown · cmd-downterminal::ScrollPageDownshift-pageup · cmd-upterminal::ScrollPageUpshift-end · cmd-endterminal::ScrollToBottomshift-home · cmd-hometerminal::ScrollToTopcmd-leftterminal::SendKeystroke "ctrl-a"ctrl-bterminal::SendKeystroke "ctrl-b"ctrl-cterminal::SendKeystroke "ctrl-c"cmd-rightterminal::SendKeystroke "ctrl-e"cmd-deleteterminal::SendKeystroke "ctrl-k"ctrl-oterminal::SendKeystroke "ctrl-o"ctrl-qterminal::SendKeystroke "ctrl-q"ctrl-rterminal::SendKeystroke "ctrl-r"cmd-backspaceterminal::SendKeystroke "ctrl-u"ctrl-backspaceterminal::SendKeystroke "ctrl-w"downterminal::SendKeystroke "down"enterterminal::SendKeystroke "enter"escapeterminal::SendKeystroke "escape"pagedownterminal::SendKeystroke "pagedown"pageupterminal::SendKeystroke "pageup"upterminal::SendKeystroke "up"alt-.terminal::SendText "\u001b."ctrl-deleteterminal::SendText "\u001b[3;5~"alt-left · alt-bterminal::SendText "\u001bb"alt-deleteterminal::SendText "\u001bd"alt-right · alt-fterminal::SendText "\u001bf"ctrl-cmd-spaceterminal::ShowCharacterPalettectrl-shift-spaceterminal::ToggleViModeTasks
ctrl-alt-r · alt-ttask::Rerunctrl-shift-rtask::Rerun {"reevaluate_context": false}cmd-alt-rtask::Rerun {"reevaluate_context": false}alt-shift-ttask::Spawnalt-shift-rtask::Spawn {"reveal_target": "center"}cmd-shift-rtask::Spawnctrl-alt-shift-rtask::Spawn {"reveal_target": "center"}New process modal
cmd-3new_process_modal::ActivateAttachTabcmd-2new_process_modal::ActivateDebugTabcmd-4new_process_modal::ActivateLaunchTabcmd-1new_process_modal::ActivateTaskTabDebugger
23Debug session
f5debugger::Continuerightdebugger::NextBreakpointPropertyf6debugger::Pauseleftdebugger::PreviousBreakpointPropertyf5debugger::Rerunshift-cmd-f5debugger::RerunSessionf4debugger::Startf11 · ctrl-f11debugger::StepIntoshift-f11debugger::StepOutf7 · f10debugger::StepOvershift-f5debugger::Stopspacedebugger::ToggleEnableBreakpointshift-alt-escapedebugger::ToggleExpandItemcmd-idebugger::ToggleSessionPickercmd-tdebugger::ToggleThreadPickerbackspacedebugger::UnsetBreakpointVariable list
alt-entervariable_list::AddWatchleftvariable_list::CollapseSelectedEntrycmd-alt-cvariable_list::CopyVariableNamecmd-cvariable_list::CopyVariableValueentervariable_list::EditVariablerightvariable_list::ExpandSelectedEntrydelete · backspacevariable_list::RemoveWatchDiagnostics, Notebooks & Viewers
46Diagnostics
cmd-shift-mdiagnostics::Deployctrl-rdiagnostics::ToggleDiagnosticsRefreshNotebooks
cmd-mnotebook::AddCodeBlockcmd-mnotebook::AddCodeBlockcmd-shift-mnotebook::AddMarkdownBlockcmd-shift-mnotebook::AddMarkdownBlockd d · backspacenotebook::DeleteCellescapenotebook::EnterCommandModeenternotebook::EnterEditModecmd-cnotebook::InterruptKernelalt-downnotebook::MoveCellDownalt-downnotebook::MoveCellDownalt-upnotebook::MoveCellUpalt-upnotebook::MoveCellUpcmd-shift-rnotebook::RestartKernelcmd-shift-rnotebook::RestartKernelcmd-enternotebook::Runcmd-enternotebook::Runcmd-shift-enternotebook::RunAllcmd-shift-enternotebook::RunAllshift-enternotebook::RunAndAdvanceshift-enternotebook::RunAndAdvanceREPL
ctrl-shift-enterrepl::Runctrl-alt-enterrepl::RunInPlaceMarkdown preview
cmd-shift-vmarkdown::CloseAndReturnToEditorcmd-cmarkdown::Copycmd-cmarkdown::CopyAsMarkdowncmd-shift-vmarkdown::OpenPreviewcmd-k vmarkdown::OpenPreviewToTheSidedownmarkdown::ScrollDownalt-downmarkdown::ScrollDownByItempagedownmarkdown::ScrollPageDownpageupmarkdown::ScrollPageUpcmd-downmarkdown::ScrollToBottomcmd-upmarkdown::ScrollToTopupmarkdown::ScrollUpalt-upmarkdown::ScrollUpByItemImage viewer
cmd-shift-0image_viewer::FitToViewcmd-0image_viewer::ResetZoomcmd-= · cmd-+image_viewer::ZoomIncmd--image_viewer::ZoomOutcmd-1image_viewer::ZoomToActualSizeSVG viewer
cmd-shift-vsvg::OpenPreviewcmd-k vsvg::OpenPreviewToTheSideTabular data
cmd-shift-vtabular_data::OpenPreviewcmd-k vtabular_data::OpenPreviewToTheSideSettings, Keymap & Collaboration
54Settings window
leftsettings_editor::CollapseNavEntryrightsettings_editor::ExpandNavEntryctrl-1settings_editor::FocusFile 0ctrl-2settings_editor::FocusFile 1ctrl-3settings_editor::FocusFile 2ctrl-4settings_editor::FocusFile 3ctrl-5settings_editor::FocusFile 4ctrl-6settings_editor::FocusFile 5ctrl-7settings_editor::FocusFile 6ctrl-8settings_editor::FocusFile 7ctrl-9settings_editor::FocusFile 8ctrl-0settings_editor::FocusFile 9homesettings_editor::FocusFirstNavEntryendsettings_editor::FocusLastNavEntrycmd-}settings_editor::FocusNextFiledown · tabsettings_editor::FocusNextNavEntrypagedownsettings_editor::FocusNextRootNavEntrycmd-{settings_editor::FocusPreviousFileup · shift-tabsettings_editor::FocusPreviousNavEntrypageupsettings_editor::FocusPreviousRootNavEntrycmd-msettings_editor::Minimizecmd-,settings_editor::OpenCurrentFileleft · cmd-shift-esettings_editor::ToggleFocusNavKeymap editor
cmd-ckeymap_editor::CopyActioncmd-shift-ckeymap_editor::CopyContextalt-enterkeymap_editor::CreateBindingenterkeymap_editor::EditBindingcmd-kkeymap_editor::OpenCreateKeybindingModalcmd-tkeymap_editor::ShowMatchingKeybindscmd-alt-ckeymap_editor::ToggleConflictFiltercmd-alt-fkeymap_editor::ToggleKeystrokeSearchcmd-alt-fkeymap_editor::ToggleKeystrokeSearchKeystroke input
deletekeystroke_input::ClearKeystrokesenterkeystroke_input::StartRecordingescape escape escapekeystroke_input::StopRecordingCollaboration panel
spacecollab_panel::InsertSpacealt-downcollab_panel::MoveChannelDownalt-upcollab_panel::MoveChannelUpalt-entercollab_panel::OpenSelectedChannelNotesctrl-backspacecollab_panel::Removecmd-shift-ccollab_panel::ToggleFocusctrl-shift-ccollab_panel::ToggleFocusshift-entercollab_panel::ToggleSelectedChannelFavoriteApplication menu
leftapp_menu::ActivateMenuLeftrightapp_menu::ActivateMenuRightf10app_menu::OpenApplicationMenu "Zed"Onboarding
cmd-enteronboarding::Finishalt-shift-aonboarding::OpenAccountalt-tabonboarding::SignInDeveloper tools
alt-leftdev::EditPredictionContextGoBackalt-rightdev::EditPredictionContextGoForwardctrl-alt-shift-odev::ResetFrameOverlayStatsctrl-alt-shift-pdev::ToggleFpsOverlaycmd-alt-idev::ToggleInspectorVim & Helix Mode
38Zed’s own additions, and the settings block
"vim_mode": trueturn it ongd / gD / gygo to definition / declaration / type definitiong.code actions menucdrename the symbol under the cursor]c / [cnext / previous git hunkdo / dpexpand a diff hunk / restore it]m / [mnext / previous method — via tree-sitter, not a regex]s / [snext / previous section]x / [xselect a smaller / larger syntax nodeaf / ifaround / inside a functionac / icaround / inside a class or definitionat / itaround / inside an HTML-like tagai / ii / aIindent-level text objectsgl / gL / gaadd a cursor at the next / previous / every copy of the wordg/project-wide searchctrl-w gdgo to definition in a splitys / cs / dssurround: add, change, deletegcc / gccomment a line / a selectioncxexchange two regionsgRreplace with registerctrl-x ctrl-oopen the completion menu without leaving insert mode:w :q :wqa :vs :spthe ex commands Zed implements:E :G :te :AIopen the project, git, terminal and agent panels:cn / :cpnext / previous diagnostic:s/foo/bar/gsubstitute — but in Zed regex, not Vim regex"vim": {"use_system_clipboard"}always / never / on_yank"vim": {"default_mode"}the mode a buffer opens in"vim": {"use_smartcase_find"}lowercase f/t ignores case"vim": {"use_regex_search"}treat / patterns as regex — on by default"vim": {"gdefault"}:s is global without /g"vim": {"toggle_relative_line_numbers"}relative in normal, absolute in insert"vim": {"highlight_on_yank_duration"}yank flash, in ms; 0 disables — default 200"vim": {"custom_digraphs"}your own ctrl-k digraphsvim::PushSneaktwo-character sneak motion — unbound by defaultvim::NextSubwordStartcamelCase-aware w — unbound by defaultvim::AnyQuotes / vim::AnyBracketsinnermost-first quote and bracket objectsvim::HelixJumpToWordHelix-style jump labelscommand_aliasesmap :W to :w and friendsSettings
282Top-level keys of settings.json
active_pane_modifiersStyling settings applied to the active pane.bottom_dock_layoutControl the layout of the bottom dock, relative to the left and right docks.agent_font_sizeThe font size for text in the agent panel. Inherits the UI font size if unset.allow_rewrapControls where the {#action editor::Rewrap} action is allowed in the current language scopeauto_indentWhether indentation should be adjusted based on context while typing. This can be specified on a per-language basis.auto_indent_on_pasteWhether indentation of pasted content should be adjusted based on the contextauto_install_extensionsDefine extensions to install automatically or never install.auto_update_extensionsDisable auto-updates for specific extensions.autosaveWhen to automatically save edited buffers.autoscroll_on_clicksWhether to scroll when clicking near the edge of the visible text area.auto_signature_helpShow method signatures in the editor when inside parentheses.auto_updateWhether or not to automatically check for updates.base_keymapBase key bindings scheme. Base keymaps can be overridden with user keymaps.buffer_font_familyThe name of a font to use for rendering text in the editor.buffer_font_featuresThe OpenType features to enable for text in the editor.buffer_font_fallbacksSet the buffer text's font fallbacks, this will be merged with the platform's default fallbacks.buffer_font_sizeThe default font size for text in the editor.buffer_font_weightThe default font weight for text in the editor.buffer_line_heightThe default line height for text in the editor.centered_layoutConfiguration for the centered layout mode.close_on_file_deleteWhether to automatically close editor tabs when their corresponding files are deleted from disk.close_panel_on_toggleWhether invoking a panel's `ToggleFocus` action while the panel is already focused closes the panel, instead of just moving focus back to the editor. This only applies to a panel's focus-toggle action, not to its regular visibility-toggle action.code_lensWhether and how to display code lenses from language servers. Code lenses show contextual information such as reference counts, implementations, and other metadata provided by the language server.confirm_quitWhether or not to prompt the user to confirm before closing the application.diagnostics_max_severityWhich level to use to filter out diagnostics displayed in the editordiff_view_styleHow to display diffs in the editor.disable_aiWhether to disable all AI features in Zedload_direnvSettings for [direnv](https://direnv.net/) integration. Requires `direnv` to be installed. `direnv` integration makes it possible to use the environment variables set by a `direnv` configuration to detect some language servers in `$PATH` instead of installing them. It also allows for those environment variables to be used in tasks.double_click_in_multibufferWhat to do when multibuffer is double clicked in some of its excerpts (parts of singleton buffers)drop_target_sizeRelative size of the drop target in the editor that will open dropped file as a split pane (0-0.5). For example, 0.25 means if you drop onto the top/bottom quarter of the pane a new vertical split will be used, if you drop onto the left/right quarter of the pane a new horizontal split will be used.edit_predictionsSettings for edit predictions.edit_predictions_disabled_inA list of language scopes in which edit predictions should be disabled.current_line_highlightHow to highlight the current line in the editor.selection_highlightWhether to highlight all occurrences of the selected text in an editor.rounded_selectionWhether the text selection should have rounded corners.cursor_blinkWhether or not the cursor blinks.cursor_shapeCursor shape for the default editor.gutterSettings for the editor gutterreduce_motionWhether to reduce non-essential motion in the UI, such as loading spinners and pulsating labels, by rendering them in a static state.snippet_sort_orderDetermines how snippets are sorted relative to other completion items.scrollbarWhether or not to show the editor scrollbar and various elements in it.minimapSettings related to the editor's minimap, which provides an overview of your document.tabsConfiguration for the editor tabs.toolbarWhether or not to show various elements in the editor toolbar.use_system_window_tabsWhether to allow windows to tab together based on the user’s tabbing preference (macOS only).fullscreen_modeWhich fullscreen mode the `zed::ToggleFullScreen` action enters (macOS only).enable_language_serverWhether or not to use language servers to provide code intelligence.ensure_final_newline_on_saveRemoves any lines containing only whitespace at the end of the file and ensures just one newline at the end.line_endingHow line endings should be handled for new files and during format and save. This can be specified on a per-language basis.expand_excerpt_linesThe default number of lines to expand excerpts in the multibuffer byexcerpt_context_linesThe number of lines of context to provide when showing excerpts in the multibuffer.extend_comment_on_newlineWhether to start a new line with a comment when a previous line is a comment as well.status_barControl various elements in the status bar. Note that some items in the status bar have their own settings set elsewhere.lspConfiguration for language servers.global_lsp_settingsConfiguration for global LSP settings that apply to all language serverslsp_highlight_debounceThe debounce delay in milliseconds before querying highlights from the language server based on the current cursor location.featuresFeatures that can be globally enabled or disabledfocus_follows_mouseWhether the focused panel follows the mouse location.format_on_saveWhether or not to perform a buffer format before saving.formatterHow to perform a buffer format.use_autocloseWhether to automatically add matching closing characters when typing opening parenthesis, bracket, brace, single or double quote characters.always_treat_brackets_as_autoclosedControls how the editor handles the autoclosed characters.file_scan_exclusionsFiles or globs of files that will be excluded by Zed entirely. They will be skipped during file scans, file searches, and not be displayed in the project file tree. Overrides `file_scan_inclusions`.file_scan_inclusionsFiles or globs of files that will be included by Zed, even when ignored by git. This is useful for files that are not tracked by git, but are still important to your project. Note that globs that are overly broad can slow down Zed's file scanning. `file_scan_exclusions` takes precedence over these inclusions.file_scan_depthMaximum directory depth that Zed eagerly indexes outside of git repositories. Directories at this depth or deeper are indexed on demand: when expanded in the project panel or when a file inside them is opened. Contents of directories that were not indexed yet are invisible to the file finder and project search. When directories get deferred, the status bar of the affected window shows a brief "Partial file index" message. Set to `0` to always index everything eagerly and activate all git repositories immediately.scan_symlinksWhen to scan content of linked directories.file_typesConfigure how Zed selects a language for a file based on its filename or extension. Supports glob entries.diagnosticsConfiguration for diagnostics-related features.gitConfiguration for git-related features.go_to_definition_fallbackWhat to do when the {#action editor::GoToDefinition} action fails to find a definitiongo_to_definition_scroll_strategyHow to scroll the target into view when navigating to a definition or reference (e.g. {#action editor::GoToDefinition}, {#action editor::GoToTypeDefinition}, {#action editor::FindAllReferences}).hard_tabsWhether to indent lines using tab characters or multiple spaces.helix_modeWhether or not to enable Helix mode. Enabling `helix_mode` also enables `vim_mode`. See the [Helix documentation](../helix.md) for more details.indent_guidesConfiguration related to indent guides. Indent guides can be configured separately for each language.hover_popover_enabledWhether or not to show the informational hover box when moving the mouse over symbols in the editor.hover_popover_delayTime to wait in milliseconds before showing the informational hover box. This delay also applies to auto signature help when `auto_signature_help` is enabled.hover_popover_stickyWhether the hover popover sticks when the mouse moves toward it, allowing interaction with its contents before it disappears.hover_popover_hiding_delayTime to wait in milliseconds before hiding the hover popover after the mouse moves away from the hover target. Only applies when `hover_popover_sticky` is enabled.icon_themeThe icon theme setting can be specified in two forms - either as the name of an icon theme or as an object containing the `mode`, `dark`, and `light` icon themes for files/folders inside Zed.image_viewerSettings for image viewer functionalityinlay_hintsConfiguration for displaying extra text with hints in the editor.journalConfiguration for the journal.jsx_tag_auto_closeWhether to automatically close JSX tagslanguage_detectionWhether to automatically detect the language of an untitled buffer from its contents. Languages explicitly selected from the language selector are not changed.languagesConfiguration for specific languages.language_modelsConfiguration for language model providersline_indicator_formatFormat for line indicator in the status barlinked_editsWhether to perform linked edits of associated ranges, if the language server supports it. For example, when editing opening `<html>` tag, the contents of the closing `</html>` tag will be edited as well.lsp_document_colorsHow to render LSP `textDocument/documentColor` colors in the editorlsp_document_linksWhether to query and display LSP `textDocument/documentLink` links in the editormax_tabsMaximum number of tabs to show in the tab barmiddle_click_pasteEnable middle-click paste on Linuxmulti_cursor_modifierDetermines the modifier to be used to add multiple cursors with the mouse. The open hover link mouse gestures will adapt such that it does not conflict with the multicursor modifier.nodeConfiguration for Node.js integrationproxyConfigure a network proxy for Zed.on_last_window_closedWhat to do when the last window is closedon_new_windowWhat to show when opening a new window.instrumentationConfiguration for developer-oriented instrumentation tools (profilers, tracers, etc.) that can be toggled at runtime.profilesConfiguration profiles that can be temporarily applied on top of existing settings or Zed's defaults.preview_tabspane_split_direction_horizontalThe direction that you want to split panes horizontallypane_split_direction_verticalThe direction that you want to split panes verticallypreferred_line_lengthThe column at which to soft-wrap lines, for buffers where soft-wrap is enabled.private_filesGlobs to match against file paths to determine if a file is privateprojects_online_by_defaultWhether or not to show the online projects view by default.read_ssh_configWhether to read SSH configuration filesredact_private_valuesHide the values of variables from visual display in private filesrelative_line_numbersWhether to show relative line numbers in the gutterremove_trailing_whitespace_on_saveWhether or not to remove any trailing whitespace from lines of a buffer before saving it.resize_all_panels_in_dockWhether to resize all the panels in a dock when resizing the dock. Can be a combination of "left", "right" and "bottom".restore_on_file_reopenWhether to attempt to restore previous file's state when opening it again. The state is stored per pane.restore_on_startupControls session restoration on startup.scroll_beyond_last_lineWhether the editor will scroll beyond the last linescroll_sensitivityScroll sensitivity multiplier. This multiplier is applied to both the horizontal and vertical delta values while scrolling.searchSearch options to enable by default when opening new project and buffer searches.search_wrapIf `search_wrap` is disabled, search results do not wrap around the end of the fileseed_search_query_from_cursorWhen to populate a new search's query based on the text under the cursor.semantic_tokensControls how semantic tokens from language servers are used for syntax highlighting.document_folding_rangesControls whether folding ranges from language servers are used instead of tree-sitter and indent-based folding. Tree-sitter and indent-based folding is the default; it is used as a fallback when LSP folding data is not returned or this setting is turned off.document_symbolsControls the source of document symbols used for outlines and breadcrumbs. This is an LSP feature — when enabled, tree-sitter is not used for document symbols, and the language server's `textDocument/documentSymbol` response is used instead.use_smartcase_searchWhen enabled, automatically adjusts search case sensitivity based on your query. If your search query contains any uppercase letters, the search becomes case-sensitive; if it contains only lowercase letters, the search becomes case-insensitive. \ This applies to both in-file searches and project-wide searches.show_call_status_iconWhether or not to show the call status icon in the status bar.completionsControls how completions are processed for this language.show_completions_on_inputWhether or not to show completions as you type.show_completion_documentationWhether to display inline and alongside documentation for items in the completions menu.show_edit_predictionsWhether to show edit predictions as you type or manually by triggering `editor::ShowEditPrediction`.show_whitespacesWhether or not to render whitespace characters in the editor.whitespace_mapSpecify the characters used to render whitespace when show_whitespaces is enabled.soft_wrapWhether or not to automatically wrap lines of text to fit editor / preferred width.show_wrap_guidesWhether to show wrap guides (vertical rulers) in the editor. Setting this to true will show a guide at the 'preferred_line_length' value if 'soft_wrap' is set to 'preferred_line_length', and will show any additional guides as specified by the 'wrap_guides' setting.use_on_type_formatWhether to use additional LSP queries to format (and amend) the code after every "trigger" symbol input, defined by LSP server capabilitiesuse_auto_surroundWhether to automatically surround selected text when typing opening parenthesis, bracket, brace, single or double quote characters. For example, when you select text and type '(', Zed will surround the text with ().use_system_path_promptsWhether to use the system provided dialogs for Open and Save As. When set to false, Zed will use the built-in keyboard-first pickers.use_system_promptsWhether to use the system provided dialogs for prompts, such as confirmation prompts. When set to false, Zed will use its built-in prompts. Note that on Linux, this option is ignored and Zed will always use the built-in prompts.wrap_guidesWhere to display vertical rulers as wrap-guides. Disable by setting `show_wrap_guides` to `false`.tab_sizeThe number of spaces to use for each tab character.tasksConfiguration for tasks that can be run within ZedtelemetryControl what info is collected by Zed.terminalConfiguration for the terminal.detect_venvActivate the [Python Virtual Environment](https://docs.python.org/3/library/venv.html), if one is found, in the terminal's working directory (as resolved by the `working_directory` setting), automatically activating the virtual environment.toolbarWhether or not to show various elements in the terminal toolbar.replRepl settings.themeThe theme setting can be specified in two forms - either as the name of a theme or as an object containing the `mode`, `dark`, and `light` themes for the Zed UI.title_barWhether or not to show various elements in the title barwindow_title_formatTemplate for the window title. Use `${separator}` to insert a separator that is omitted when adjacent variables are empty. The collaboration indicator, when present, is appended after the rendered template. If the template renders to nothing (for example `${branch}` outside a Git repository), the default template is used instead.window_title_separatorThe string substituted for `${separator}` in the window title format. Include any surrounding whitespace in the value.window_decorationsControls whether Zed or the window manager or compositor draws window decorations.vim_modeWhether or not to enable vim mode.which_keyShow matching bindings while a multi-stroke binding is pending.when_closing_with_no_tabsWhether the window should be closed when using 'close active item' on a window with no tabsproject_panelCustomize project panelcollaboration_panelCustomizations for the collaboration panel.debuggerConfiguration for debugger panel and settingsgit_panelSetting to customize the behavior of the git panel.git.worktree_directoryDirectory where git worktrees are created, relative to the repository working directory.git_hosting_providersRegister self-hosted GitHub, GitLab, or Bitbucket instances so commit hashes, issue references, and permalinks resolve to the right host.outline_panelCustomize outline PanelcallsCustomize behavior when participating in a callcolorize_bracketsWhether to use tree-sitter bracket queries to detect and colorize the brackets in the editor (also known as "rainbow brackets").unnecessary_code_fadeHow much to fade out unused code.ui_font_familyThe name of the font to use for text in the UI.ui_font_featuresThe OpenType features to enable for text in the UI.ui_font_fallbacksThe font fallbacks to use for text in the UI.ui_font_sizeThe default font size for text in the UI.ui_font_weightThe default font weight for text in the UI.profilesConfigure any number of settings profiles that are temporarily applied when selected from {#action settings_profile_selector::Toggle}.Nested keys, inside the objects above
border_sizeSize of the border surrounding the active pane. When set to 0, the active pane doesn't have any border. The border is drawn inset.inactive_opacityOpacity of inactive panels. When set to 1.0, inactive panes have the same opacity as the active pane. If set to 0, inactive pane content is not visible. Values are clamped to the [0.0, 1.0] range.show_signature_help_after_editsWhether to show the signature help after completion or a bracket pair inserted. If `auto_signature_help` is enabled, this setting will be treated as enabled also.disabled_globsA list of globs for which edit predictions should be disabled for. This list adds to a pre-existing, sensible default set of globs. Any additional ones you add are combined with them.edit_predictions.<provider>.prediction_debounceHow long Zed waits after you stop typing before automatically requesting an edit prediction.showWhen to show the editor scrollbar.cursorsWhether to show cursor positions in the scrollbar.git_diffWhether to show git diff indicators in the scrollbar.search_resultsWhether to show buffer search results in the scrollbar.selected_textWhether to show selected text occurrences in the scrollbar.selected_symbolWhether to show selected symbol occurrences in the scrollbar.diagnosticsWhich diagnostic indicators to show in the scrollbar.axesForcefully enable or disable the scrollbar for each axishorizontalWhen false, forcefully disables the horizontal scrollbar. Otherwise, obey other settings.verticalWhen false, forcefully disables the vertical scrollbar. Otherwise, obey other settings.showWhen to show the minimap in the editor.thumbWhen to show the minimap thumb (the visible editor area) in the minimap.thumb_borderHow the minimap thumb border should look.current_line_highlightHow to highlight the current line in the minimap.showWhether or not to show the tab bar in the editor.show_nav_history_buttonsWhether or not to show the navigation history buttons.show_tab_bar_buttonsWhether or not to show the tab bar buttons.close_positionWhere to display close button within a tab.file_iconsWhether to show the file icon for a tab.git_statusWhether or not to show Git file status in tab.activate_on_closeWhat to do after closing the current tab.show_close_buttonControls the appearance behavior of the tab's close button.show_diagnosticsWhether to show diagnostics indicators in tabs. This setting only works when file icons are active and controls which files with diagnostic issues to mark.inline_code_actionsWhether to show code action button at start of buffer line.sessionControls Zed lifecycle-related behavior.drag_and_drop_selectionWhether to allow drag and drop text selection in buffer. `delay` is the milliseconds that must elapse before drag and drop is allowed. Otherwise, a new text selection is created.edit_prediction_providerWhich edit prediction provider to useenabledWhether hovering over a dock or pane moves focus to it.debounce_msHow long the mouse must hover over a panel before it is focused, in milliseconds.inlineWhether or not to show diagnostics information inline.git_gutterWhether or not to show the git gutter.gutter_debounceSets the debounce threshold (in milliseconds) after which changes are reflected in the git gutter.inline_blameWhether or not to show git blame information inline, on the currently focused line.branch_pickerConfiguration related to the branch picker.hunk_styleWhat styling we should use for the diff hunks.diff_baseWhether git features show changes relative to HEAD (uncommitted changes) or to the default branch (all changes on the current branch). Also available in the editor controls menu as "Diff Against Default Branch".icon_themeSpecify the icon theme using an object that includes the `mode`, `dark`, and `light`.modeSpecify the icon theme mode.darkThe name of the dark icon theme.lightThe name of the light icon theme.unitThe unit for image file sizespathThe path of the directory where journal entries are stored. If an invalid path is specified, the journal will fall back to using `~` (the home directory).hour_formatThe format to use for displaying hours in the journal.document_symbolsControls the source of document symbols used for outlines and breadcrumbs.instrumentation.performance_profiler.enabledCollects timing data for foreground and background executor tasks so they can be inspected via the {#action zed::OpenPerformanceProfiler} action. Enabling this may lead to increased memory usage, hence it's disabled by default for regular builds.enable_preview_from_project_panelDetermines whether to open files in preview mode when opened from the project panel with a single click.enable_preview_from_file_finderDetermines whether to open files in preview mode when selected from the file finder.enable_preview_from_multibufferDetermines whether to open files in preview mode when opened from a multibuffer.enable_preview_multibuffer_from_code_navigationDetermines whether to open tabs in preview mode when code navigation is used to open a multibuffer.enable_preview_file_from_code_navigationDetermines whether to open tabs in preview mode when code navigation is used to open a single file.enable_keep_preview_on_code_navigationDetermines whether to keep tabs in preview mode when code navigation is used to navigate away from them. If `enable_preview_file_from_code_navigation` or `enable_preview_multibuffer_from_code_navigation` is also true, the new tab may replace the existing one.modal_max_widthMax-width of the call hierarchy modal. It can take one of these values: `small`, `medium`, `large`, `xlarge`, and `full`.file_iconsWhether to show file icons in the file finder.modal_max_widthMax-width of the file finder modal. It can take one of these values: `small`, `medium`, `large`, `xlarge`, and `full`.skip_focus_for_active_in_searchDetermines whether the file finder should skip focus for the active file in search results.mouse_wheel_zoomWhether to zoom the editor font size with the mouse wheel while holding the primary modifier key (Cmd on macOS, Ctrl on other platforms).fast_scroll_sensitivityScroll sensitivity multiplier for fast scrolling. This multiplier is applied to both the horizontal and vertical delta values while scrolling. Fast scrolling happens when a user holds the alt or option key while scrolling.horizontal_scroll_marginThe number of characters to keep on either side when scrolling with the mousevertical_scroll_marginThe number of lines to keep above/below the cursor when scrolling with the keyboardbuttonWhether to show the project search button in the status bar.whole_wordWhether to only match on whole words.case_sensitiveWhether to match case sensitively. This setting affects both searches and editor actions like "Select Next Occurrence", "Select Previous Occurrence", and "Select All Occurrences".include_ignoredWhether to include gitignored files in search results.regexWhether to interpret the search query as a regular expression.center_on_matchWhether to center the cursor on each search match when navigating.search_on_typeStart searching as you type in project search, without pressing Enter.wordsControls how words are completed. For large documents, not all words may be fetched for completion.words_min_lengthMinimum number of characters required to automatically trigger word-based completions. Before that value, it's still possible to trigger the words-based completion manually with the corresponding editor command.lspWhether to fetch LSP completions or not.lsp_fetch_timeout_msWhen fetching LSP completions, determines how long to wait for a response of a particular server. When set to 0, waits indefinitely.lsp_insert_modeControls what range to replace when accepting LSP completions.diagnosticsSetting for sending debug-related data, such as crash reports.metricsSetting for sending anonymized usage data, such as what languages you're using Zed with.dockControl the position of the dockstarts_openWhether the terminal panel should open on startup.alternate_scrollSet whether Alternate Scroll mode (DECSET code: `?1007`) is active by default. Alternate Scroll mode converts mouse scroll events into up / down key presses when in the alternate screen (e.g. when running applications like vim or less). The terminal can still set and unset this mode with ANSI escape codes.blinkingSet the cursor blinking behavior in the terminalcopy_on_selectWhether or not selecting text in the terminal will automatically copy to the system clipboard.cursor_shapeControls the visual shape of the cursor in the terminal. When not explicitly set, it defaults to a block shape.keep_selection_on_copyWhether or not to keep the selection in the terminal after copying text.open_links_in_mouse_modeWhether cmd-click (ctrl-click on Linux and Windows) opens hyperlinks even when the terminal application has enabled mouse reporting (e.g. vim with `mouse=a`, htop). When `false`, these clicks are forwarded to the application instead, and hyperlinks can still be opened with shift-cmd-click (shift-ctrl-click).envAny key-value pairs added to this object will be added to the terminal's environment. Keys must be unique, use `:` to separate multiple values in a single variablefont_sizeWhat font size to use for the terminal. When not set defaults to matching the editor's font sizefont_familyWhat font to use for the terminal. When not set, defaults to matching the editor's font.font_featuresWhat font features to use for the terminal. When not set, defaults to matching the editor's font features.line_heightSet the terminal's line height.minimum_contrastControls the minimum contrast between foreground and background colors in the terminal. Uses the APCA (Accessible Perceptual Contrast Algorithm) for color adjustments. Set this to 0 to disable this feature.option_as_metaRe-interprets the option keys to act like a 'meta' key, like in Emacs.shellWhat shell to use when launching the terminal.scroll_multiplierThe multiplier for scrolling speed in the terminal when using mouse wheel or trackpad.buttonControl to show or hide the terminal button in the status barworking_directoryWhat working directory to use when launching the terminal.path_hyperlink_regexesRegexes used to identify path hyperlinks. The regexes can be specified in two forms - a single regex string, or an array of strings (which will be collected into a single multi-line regex string).path_hyperlink_timeout_msMaximum time to search for a path hyperlink. When set to 0, path hyperlinks are disabled.themeSpecify the theme using an object that includes the `mode`, `dark`, and `light` themes.modeSpecify theme mode.darkThe name of the dark Zed theme to use for the UI.lightThe name of the light Zed theme to use for the UI.dockControl the position of the dockentry_spacingSpacing between worktree entriesgit_statusIndicates newly created and updated filesdefault_widthCustomize default width taken by project panelauto_reveal_entriesWhether to reveal it in the project panel automatically, when a corresponding project entry becomes active. Gitignored entries are never auto revealed.auto_fold_dirsWhether to fold directories automatically when directory has only one directory inside.bold_folder_labelsWhether to show folder names with bold text in the project panel.indent_sizeAmount of indentation (in pixels) for nested items.indent_guidesWhether to show indent guides in the project panel.scrollbarScrollbar-related settings for the project panel.sort_modeSort order for entries in the project panelsort_orderWhether to sort file and folder names case-sensitively in the project panel. This setting works in combination with `sort_mode`. `sort_mode` controls how files and directories are grouped (e.g., directories first), while this setting controls how names are compared within those groups.auto_openControl whether files are opened automatically after different creation flows in the project panel.Keymap Contexts
23Predicates, key syntax and the keymap file
Workspacethe whole window — the root of the context treePane / Panesa tab groupEditorany editor, including single-line inputsEditor && mode == fulla real file editor, not a search box or a commit messageEditor && multibuffera multibuffer, e.g. project-search resultsTerminalthe integrated terminalProjectPanel / OutlinePanelthe file tree / the symbol outlineGitPanel / GitDiff / GitCommitthe git surfacesAgentPanel / AcpThreadthe agent panel and one agent threadBufferSearchBar / ProjectSearchBarthe two search barsPicker / menua modal picker / any open menuVimControlvim normal, visual or operator-pendingvim_mode == normalone specific vim modevim_operator == athe pending operator, by keyos == macosplatform predicateX && Y · X || Y · !Xboolean operators on predicatesX > YY with X anywhere above it in the tree"key": nullunbind — and do not fall through to the parent context"cmd-k cmd-s"a multi-key sequencesecondary-cmd on macOS, ctrl elsewhere["pane::DeploySearch", {…}]an action with argumentsbase_keymapZed · VSCode · JetBrains · Sublime · Atom · Emacs · TextMate · Cursor · Nonedev: open key context viewlive view of the context tree at the cursorTasks
26Variables and the fields of a task definition
$ZED_FILEabsolute path of the current file$ZED_FILENAME / $ZED_STEMfile name / file name without extension$ZED_DIRNAMEthe file’s directory, absolute$ZED_RELATIVE_FILE / $ZED_RELATIVE_DIRthe same, relative to the worktree root$ZED_ROW / $ZED_COLUMNcursor position$ZED_SYMBOLthe symbol under the cursor, as the breadcrumb shows it$ZED_SELECTED_TEXTthe current selection$ZED_LANGUAGEthe buffer’s language name$ZED_WORKTREE_ROOTabsolute path of the worktree root$ZED_MAIN_GIT_WORKTREEthe main working directory, for linked git worktrees${ZED_SELECTED_TEXT:default}a default when the variable is unset$ZED_CUSTOM_<NAME>a capture from the language’s runnables.scm$ZED_GIT_SHA / _SHORTthe selected commit, in a git-graph task$ZED_GIT_REFthe clicked branch, remote ref or tag"label"the task name shown in the palette"command" / "args"what to run"cwd"working directory; task variables are expanded in it"env"extra environment variables"use_new_terminal"a fresh terminal each run, or reuse one"allow_concurrent_runs"let a second run start before the first finishes"reveal"always / no_focus / never"hide"never / always / on_success"tags"bind the task to a runnables.scm capture"shell"system, a program, or with_argumentstask::Spawnthe action; bind a key to a named tasktask::Rerunrun the last task againCLI & Files
29The zed command
zed .open the current directory as a workspacezed file:42:10open a file at line 42, column 10zed -w / --waitblock until the opened files are closedzed -n / --newforce a new workspace windowzed -a / --addadd the paths to the focused workspace insteadzed -r / --reusereuse the current window rather than opening onezed -e / --existingonly open in an already running Zedzed --diff OLD NEWopen a two-pane diff of two fileszed --foregroundrun in the foreground with verbose loggingzed --user-data-dir DIRuse a separate profile directoryzed --completions SHELLemit shell completionszed --uninstallremove Zed and optionally its datazed -v / --versionprint the versionzed ssh://host/pathopen a remote project over SSHcli::InstallCliBinaryinstall the zed CLI to /usr/local/binWhere everything lives
~/Library/Application Support/Zed/macOS config root~/.config/zed/Linux config root%APPDATA%\Zed\Windows config rootsettings.jsonuser settingskeymap.jsonuser keybindingstasks.jsonuser task definitionsdebug.jsonuser debug scenariossnippets/*.jsonuser snippets, one file per languagethemes/*.jsonlocally installed themesextensions/installed extensions and their WASM blobs.zed/settings.jsonproject-local settings, checked into the repo.editorconfighonoured for indentation and line endingsAGENTS.mdproject rules the agent reads automatically~/.config/zed/logs/Zed.logthe log file