Zed Vim Key Mappings: Normal Mode

2026-01-25T00:00:00.000Z

This post provides a detailed reference for the key mappings available in the Normal Mode of Zed’s Vim editor.

KeyCommand
g reditor::GoToReferences
g Reditor::Rename
g ]editor::GoToNextDiagnostic
[ geditor::GoToPrevDiagnostic
g .editor::OpenCodeActions
g leditor::SelectNext
g Leditor::SelectPrev
g ceditor::SelectAll
z zeditor::Fold
z oeditor::Unfold
z meditor::FoldAll
z reditor::UnfoldAll
] beditor::GoToNextBuffer
[ beditor::GoToPrevBuffer
space wworkspace::Save
space qworkspace::CloseWindow
space hpane::ActivatePrevItem
space jpane::ActivateNextItem
space kpane::ActivatePrevItem
space lpane::ActivateNextItem
g hpane::GoBack
g Hpane::GoForward
g /project_search::ToggleFocus
g ffile_finder::Toggle
g pproject_panel::ToggleFocus
g xdiagnostics::Deploy
c xvim::Exchange
g Rvim::ReplaceWithRegister
g ceditor::ToggleComments
g Ceditor::ToggleComments
[ hgit::PrevChange
] hgit::NextChange
d ogit::ViewHunk
d Ogit::ViewHunk
[ deditor::GoToPrevDiff
] deditor::GoToNextDiff
g seditor::ExpandToWord
] eeditor::GoToNextLineEnd
<ctrl-i>pane::GoForward
<ctrl-o>pane::GoBack
<ctrl-w> vpane::SplitRight
<ctrl-w> spane::SplitDown
<ctrl-w> wpane::ActivateNext
<ctrl-w> Wpane::ActivatePrev
<ctrl-w> hpane::ActivateLeft
<ctrl-w> jpane::ActivateDown
<ctrl-w> kpane::ActivateUp
<ctrl-w> lpane::ActivateRight
<ctrl-w> =pane::Balance
<ctrl-w> qpane::CloseActiveItem
<ctrl-w> g ffile_finder::Toggle in a split
<ctrl-w> g deditor::GoToDefinition in a split
<ctrl-w> g Deditor::GoToTypeDefinition in a split
<ctrl-w> g reditor::GoToReferences in a split
z <enter>editor::FollowLink
g <enter>editor::FollowLink
g eeditor::GoToEndOfLine
g meditor::GoToLine
<ctrl-d>editor::ScrollHalfPageDown
<ctrl-u>editor::ScrollHalfPageUp
<ctrl-f>editor::ScrollPageDown
<ctrl-b>editor::ScrollPageUp
<ctrl-e>editor::ScrollDown
<ctrl-y>editor::ScrollUp
z teditor::ScrollToTop
z beditor::ScrollToBottom
z .editor::ScrollToCenter
Heditor::GoToScreenTop
Meditor::GoToScreenMiddle
Leditor::GoToScreenBottom
g aeditor::CodeActions
<ctrl-g>editor::ShowCursorPosition
g Ieditor::GoToFirstColumn
g ~editor::ToggleCase
g Ueditor::UpperCase
g ueditor::LowerCase
g ?editor::Rot13
g Jeditor::JoinLines
g keditor::MoveLineUp
g jeditor::MoveLineDown
<ctrl-a>editor::Increment
<ctrl-x>editor::Decrement
g veditor::SelectLast
[vim::MoveToPrevParagraph
]vim::MoveToNextParagraph
[-vim::PrevIndent
]-vim::NextIndent
[+vim::PrevIndent
]+vim::NextIndent
[=vim::PrevIndent
]=vim::NextIndent
g deditor::GoToDefinition
g Deditor::GoToTypeDefinition
g Aeditor::GoToReferences
g tpane::ActivateNextItem
g Tpane::ActivatePrevItem
g neditor::GoToNextWord
g Neditor::GoToPrevWord
g #editor::SelectPrevWord
g *editor::SelectNextWord
> >editor::Indent
< <editor::Outdent
d i dgit::ViewHunk
c i dgit::ViewHunk
y i dgit::ViewHunk
d s dgit::ViewHunk
c s dgit::ViewHunk
y s dgit::ViewHunk
d a dgit::ViewHunk
c a dgit::ViewHunk
y a dgit::ViewHunk
i avim::text_object::ACommand
a avim::text_object::ACommand
i qvim::text_object::AString
a qvim::text_object::AString
i Qvim::text_object::AString
a Qvim::text_object::AString
i Bvim::text_object::MiniBracket
a Bvim::text_object::MiniBracket
i bvim::text_object::MiniBracket
a bvim::text_object::MiniBracket
i (vim::text_object::MiniBracket
a (vim::text_object::MiniBracket
i )vim::text_object::MiniBracket
a )vim::text_object::MiniBracket
i [vim::text_object::MiniBracket
a [vim::text_object::MiniBracket
i ]vim::text_object::MiniBracket
a ]vim::text_object::MiniBracket
i {vim::text_object::MiniBracket
a {vim::text_object::MiniBracket
i }vim::text_object::MiniBracket
a }vim::text_object::MiniBracket
i <vim::text_object::MiniBracket
a <vim::text_object::MiniBracket
i >vim::text_object::MiniBracket
a >vim::text_object::MiniBracket
i tvim::text_object::AnyTag
a tvim::text_object::AnyTag
i svim::text_object::ASentence
a svim::text_object::ASentence
i pvim::text_object::AParagraph
a pvim::text_object::AParagraph
i wvim::text_object::AWord
a wvim::text_object::AWord
i Wvim::text_object::AWord
a Wvim::text_object::AWord
i 'vim::text_object::MiniQuote
a 'vim::text_object::MiniQuote
i "vim::text_object::MiniQuote
a "vim::text_object::MiniQuote
`i
`vim::text_object::MiniQuote
`a
`vim::text_object::MiniQuote
i cvim::text_object::AnyClass
a cvim::text_object::AnyClass
i fvim::text_object::AnyFunction
a fvim::text_object::AnyFunction
i mvim::text_object::AnyFunction
a mvim::text_object::AnyFunction
] cvim::GoToNextFunction
[ cvim::GoToPrevFunction
] mvim::GoToNextFunction
[ mvim::GoToPrevFunction
] avim::GoToNextCommand
[ avim::GoToPrevCommand
] ivim::GoToNextItem
[ ivim::GoToPrevItem
] Cvim::GoToNextClass
[ Cvim::GoToPrevClass
] fvim::GoToNextTest
[ fvim::GoToPrevTest
] tvim::GoToNextTest
[ tvim::GoToPrevTest
] Tvim::GoToNextType
[ Tvim::GoToPrevType
] pvim::GoToNextParameter
[ pvim::GoToPrevParameter
] hgit::NextChange
[ hgit::PrevChange
d ogit::ViewHunk
d Ogit::ViewHunk
y svim::Surround
y Svim::SurroundLine
y s svim::Surround
y S Svim::SurroundLine
d svim::DeleteSurround
c svim::ChangeSurround
<leader> aassistant::CycleFocus
<leader> cchat_panel::ToggleFocus
<leader> ddebugger::ToggleFocus
<leader> eproject_panel::ToggleFocus
<leader> ggit_panel::ToggleFocus
<leader> nnotifications::ToggleFocus
<leader> pproject_panel::ToggleFocus
<leader> sproject_search::ToggleFocus
<leader> tterminal_panel::ToggleFocus
<leader> xdiagnostics::Deploy
<leader> ofile_finder::Toggle
<leader> zeditor::ToggleZenMode
fvim::NextCharacter
Fvim::PrevCharacter
tvim::TillNextCharacter
Tvim::TillPrevCharacter
;vim::RepeatCharacterMove
,vim::RepeatCharacterMoveBackwards

HQ Key Mappings

gg / G Jump to top/bottom of page
j / k Scroll page up/down
h / l Focus navigation bar and move left/right
c / Escape Remove focus from nav bar / Close modal
x / Enter Follow a focused navigation link
t / T Cycle through site themes
m / M Toggle light/dark mode
f / / Open search dialog
? Open help dialog