// 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. [ { "bindings": { "ctrl-f": "diagnostics::ToggleDiagnosticsRefresh", "ctrl-e": "file_finder::Toggle", "ctrl-p": "command_palette::Toggle", "ctrl-k": "menu::SelectPrevious", "ctrl-j": "menu::SelectNext", "ctrl-tab": "pane::ActivateNextItem", "ctrl-shift-tab": "pane::ActivatePreviousItem", "ctrl-w": "pane::CloseActiveItem", "ctrl-shift-w": "pane::ReopenClosedItem", "ctrl-v": "editor::Paste", "ctrl-c": "editor::Copy", "ctrl-t": ["workspace::SendKeystrokes", "ctrl-# ctrl-e"], "ctrl-shift-p": "pane::RevealInProjectPanel", "ctrl-shift-a": "workspace::ToggleRightDock", "ctrl-shift-t": "terminal_panel::Toggle", // for send keystrokes "ctrl-#": "pane::ActivateLastItem", "ctrl-shift-#": "project_panel::Open", "ctrl-shift-?": "workspace::ToggleLeftDock", }, }, { "context": "Editor", "bindings": { "ctrl-h": "outline::Toggle", }, }, { "context": "KeymapEditor", "bindings": { "ctrl-f": "keymap_editor::ToggleKeystrokeSearch", }, }, { "context": "ProjectPanel", "bindings": { //"l": "project_panel::Open", "enter": ["workspace::SendKeystrokes", "ctrl-shift-# ctrl-shift-?"], "ctrl-shift-p": "workspace::ToggleLeftDock", //"a": "project_panel::UnfoldDirectory", //"b": "project_panel:entry" }, }, { "context": "Editor && showing_completions", "bindings": { "ctrl-j": "editor::ContextMenuNext", "ctrl-k": "editor::ContextMenuPrevious", }, }, { "context": "Workspace", "bindings": { //"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }] //"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }] }, }, { "context": "Editor && vim_mode == insert", "bindings": { // "j k": "vim::NormalBefore" }, }, { "context": "vim_mode == insert", "bindings": { "ctrl-dead_acute ctrl-acute": "vim::InsertFromBelow", }, }, { "context": "(VimControl && !menu)", "bindings": { "ctrl-dead_acute ctrl-acute": "vim::LineDown", }, }, { "context": "showing_completions", "bindings": { "ctrl-dead_acute ctrl-acute": "vim::LineDown", }, }, { "context": "vim_mode == literal", "bindings": { "ctrl-dead_acute ctrl-acute": ["vim::Literal", ["ctrl-e", "\u0005"]], }, }, { "context": "Terminal", "bindings": { "ctrl-dead_acute ctrl-acute": ["terminal::SendKeystroke", "ctrl-e"], "ctrl-j": ["terminal::SendKeystroke", "down"], "ctrl-k": ["terminal::SendKeystroke", "up"], "ctrl-h": ["terminal::SendKeystroke", "left"], "ctrl-l": ["terminal::SendKeystroke", "right"], "ctrl-t": "terminal_panel::ToggleFocus", }, }, { "context": "((os != macos && Editor) && edit_prediction_conflict)", "bindings": { //"ctrl-l": "editor::AcceptEditPrediction" }, }, { "context": "((os != macos && Editor) && edit_prediction_conflict)", "bindings": { "ctrl-i": "editor::AcceptEditPrediction", }, }, { "context": "(Editor && edit_prediction)", "bindings": { "ctrl-i": "editor::AcceptEditPrediction", }, }, { "context": "Editor", "bindings": { "ctrl-shift-b": "editor::ToggleBreakpoint", }, }, { "context": "vim_mode == visual", "bindings": { "#": [ "vim::MoveToNext", { "partial_word": true, }, ], }, }, { "context": "(VimControl && !menu)", "bindings": { "#": [ "vim::MoveToNext", { "partial_word": true, }, ], }, }, { "context": "(Diagnostics && Editor)", "bindings": {}, }, { "context": "(VimControl && !menu)", "bindings": { "g a": "editor::Hover" } }, { "bindings": { "ctrl-m ctrl-t": "pane::TogglePreviewTab" } }, { "context": "Workspace", "bindings": { "ctrl-m ctrl-r": "task::Spawn" } }, { "context": "(VimControl && !menu)", "bindings": { "j": [ "vim::Down", { "display_lines": true } ] } }, { "context": "(VimControl && !menu)", "bindings": { "k": [ "vim::Up", { "display_lines": true } ] } }, { "bindings": { "ctrl-m ctrl-h": "editor::SwitchSourceHeader" } }, { "bindings": { "ctrl-m ctrl-s": "workspace::NewSearch" } } ]