// Zed keymap // // For information on binding keys, see the Zed // documentation: https://zed.dev/docs/key-bindings // // To see the default key bindings run `zed: open default keymap` // from the command palette. // // For vim docs see: https://zed.dev/docs/vim [ { "context": "VimControl && !menu", "bindings": { // Put key bindings here if you want them to work in normal & visual mode. // "ctrl-h": ["workspace::ActivatePaneInDirection", "Left"], // "ctrl-l": ["workspace::ActivatePaneInDirection", "Right"], "ctrl-k": ["workspace::ActivatePaneInDirection", "Up"], "ctrl-j": ["workspace::ActivatePaneInDirection", "Down"], "ctrl-l": "pane::ActivateNextItem", "ctrl-h": "pane::ActivatePrevItem", "ctrl-3": "tab_switcher::Toggle" } }, { "context": "vim_mode == normal && !menu", "bindings": { // "shift-y": ["workspace::SendKeystrokes", "y $"] // Use neovim's yank behavior: yank to end of line. } }, { "context": "vim_mode == insert", "bindings": { // "j k": "vim::NormalBefore" // In insert mode, make jk escape to normal mode. } }, { "context": "EmptyPane || SharedScreen", "bindings": { // Put key bindings here (in addition to the context above) if you want them to // work when no editor exists. // "space f": "file_finder::Toggle" } }, { "context": "Workspace", "bindings": { // "shift shift": "file_finder::Toggle" "alt-`": "workspace::ToggleBottomDock", "alt-b": "workspace::ToggleLeftDock", "alt-w": "pane::CloseActiveItem", "alt-enter": "editor::ToggleCodeActions" } }, { "context": "Editor", "bindings": { // "j k": ["workspace::SendKeystrokes", "escape"] } } ]