This commit is contained in:
Sebastian Moser
2026-05-18 18:22:45 +02:00
parent 4a62c235f1
commit 5b895c54dc
31 changed files with 9569 additions and 323 deletions

209
zed/keymap.json Normal file
View File

@@ -0,0 +1,209 @@
// 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"
}
}
]