121 lines
3.6 KiB
JSON
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"]
|
|
}
|
|
}
|
|
]
|