121 lines
3.6 KiB
JSON

// 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.
[
{
"context": "",
"bindings": {
"ctrl-q": null, // "zed::Quit"
"alt-pageup": "workspace::ActivatePaneLeft",
"alt-pagedown": "workspace::ActivatePaneRight"
}
},
{
"context": "Workspace",
"bindings": {
// "escape": "project_panel::ToggleFocus"
"ctrl-j": null, // "workspace::ToggleBottomDock"
"ctrl-a": "workspace::ToggleBottomDock"
}
},
{
"context": "Pane",
"bindings": {
// "ctrl-tab": "pane::ActivateNextItem"
// "ctrl-shift-tab": "pane::ActivatePrevItem",
// "ctrl-pageup": "pane::ActivatePrevItem", // default
// "ctrl-pagedown": "pane::ActivateNextItem" // default
// "ctrl-shift-pageup": "pane::SwapItemLeft", // default
// "ctrl-shift-pagedown": "pane::SwapItemRight" // default
"ctrl-,": "zed::OpenSettings"
// "ctrl-;": "zed::OpenKeymap" //doesn't work
}
},
{
"context": "ProjectPanel && !editing",
"bindings": {
"enter": "project_panel::Open",
"escape": "project_panel::ToggleFocus",
"ctrl-e": "project_panel::ToggleFocus",
"ctrl-d": "project_panel::Duplicate",
"ctrl-p": "file_finder::Toggle"
}
},
{
"context": "Workspace",
"bindings": {
"ctrl-e": "project_panel::ToggleFocus"
}
},
// {
// // TODO
// "context": "Editor && multibuffer",
// "bindings": {
// // "ctrl-k ctrl-1": ["editor::FoldAtLevel", 0],
// "ctrl-k ctrl-1": "editor::FoldAll",
// "ctrl-k ctrl-0": "editor::UnfoldAll"
// }
// },
{
"context": "Editor && mode == full",
"bindings": {
"alt-f3": "editor::SelectAllMatches", // Select all occurrences of current word
"alt-d": ["editor::SelectNext", { "replace_newest": false }],
"ctrl-d": "editor::DuplicateLineDown",
"ctrl-shift-d": "editor::DeleteLine",
"ctrl-j": "editor::JoinLines",
"ctrl-shift-j": null, // "editor::JoinLines"
"ctrl-oslash": "editor::Fold", // ctrl-ø
"ctrl-l": "editor::UnfoldLines",
"f5": "editor::SortLinesCaseSensitive",
"ctrl-shift-e": null, // "project_panel::RevealInFileManager"
"ctrl-e": "project_panel::RevealInFileManager",
"ctrl-shift-l": "language_selector::Toggle",
// "alt-enter": "editor::OpenUrl",
// "ctrl-shift-enter": "editor::FindAllReferences",
"ctrl-enter": "editor::GoToDefinition", // TODO: open-url, and somehow disable FindAllReferences fallback behavior here
// "ctrl-enter": ["editor::GoToDefinition", "editor::OpenUrl"],
// i'm confused
"ctrl-shift-c": "editor::Copy",
"ctrl-shift-v": "editor::Paste",
"ctrl-k ctrl-u": "editor::ConvertToUpperCase",
"ctrl-k ctrl-l": "editor::ConvertToLowerCase",
// "ctrl-k ctrl-1": ["editor::FoldAtLevel", 0],
"ctrl-k ctrl-0": "editor::UnfoldAll",
"ctrl-'": ["editor::ToggleComments", { "advance_downwards": false }],
"ctrl-r": "editor::ToggleLineNumbers"
}
},
// ====================
// search behaviour
// ====================
{
"context": "Editor && mode == full",
"bindings": {
// defaults are with '"replace_enabled": false'
// "ctrl-f": ["buffer_search::Deploy", { "replace_enabled": true }]
// "ctrl-shift-f": ["pane::DeploySearch", { "replace_enabled": true }]
}
},
// ====================
{
"context": "Terminal",
"bindings": {
"ctrl-n": ["terminal::SendKeystroke", "ctrl-n"]
}
}
]