Files
dotfiles/config/zed/keymap.json
T

169 lines
5.4 KiB
JSON

[
// ─── UNBINDS ────────────────────────────────────────────────────────────────
{
"context": "Editor && vim_mode == insert",
"bindings": { "ctrl-l": null, "ctrl-h": null },
},
{
"context": "FileFinder || FileFinder > Picker > Editor || FileFinder > Picker > menu",
"bindings": { "ctrl-l": null, "ctrl-h": null },
},
{
"context": "BufferSearchBar",
"bindings": { "ctrl-l": null, "ctrl-h": null },
},
{
"context": "vim_mode == literal",
"bindings": { "ctrl-l": null, "ctrl-h": null },
},
{
"context": "VimControl && !menu",
"bindings": { "ctrl-b": null, "ctrl-o": null, "ctrl-h": null, "ctrl-j": null, "ctrl-k": null, "ctrl-l": null },
},
{
"context": "Workspace",
"bindings": { "ctrl-b": null, "ctrl-h": null, "ctrl-j": null, "ctrl-k": null, "ctrl-l": null },
},
{
"context": "Editor",
"bindings": { "ctrl-h": null, "ctrl-j": null, "ctrl-k": null, "ctrl-l": null },
},
{
"unbind": { "ctrl-o": "workspace::OpenFiles" },
},
// ─── EDITOR ─────────────────────────────────────────────────────────────────
{
"context": "Editor",
"bindings": {
"ctrl-e": "project_panel::Toggle",
"ctrl-f": "pane::DeploySearch",
"ctrl-o": "terminal_panel::Toggle",
"ctrl-m": "tab_switcher::ToggleAll",
},
},
// ─── BUFFER SEARCH BAR ──────────────────────────────────────────────────────
{
"context": "BufferSearchBar",
"bindings": {
"ctrl-r": "search::ToggleReplace",
},
},
// ─── PROJECT SEARCH BAR ─────────────────────────────────────────────────────
{
"context": "ProjectSearchBar",
"bindings": {
"ctrl-r": "search::ToggleReplace",
},
},
// ─── PROJECT SEARCH RESULTS ──────────────────────────────────────────────────
{
"context": "VimControl && !menu",
"bindings": {
"enter": "editor::OpenExcerpts",
},
},
// ─── PROJECT PANEL (FILE TREE) ───────────────────────────────────────────────
{
"context": "ProjectPanel && not_editing",
"bindings": {
"ctrl-e": "project_panel::Toggle",
"a": "project_panel::NewFile",
"d": "project_panel::Delete",
"r": "project_panel::Rename",
},
},
// ─── TERMINAL ───────────────────────────────────────────────────────────────
{
"context": "Terminal",
"bindings": {
"ctrl-o": "terminal_panel::Toggle",
"ctrl-q": "pane::CloseActiveItem",
},
},
// ─── PANE NAVIGATION (vim-style) ────────────────────────────────────────────
{
"context": "VimControl && vim_mode == normal && !menu",
"bindings": {
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown",
},
},
{
"context": "Pane && not_editing",
"bindings": {
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown",
},
},
{
"context": "Terminal",
"bindings": {
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown",
},
},
{
"context": "ProjectPanel",
"bindings": {
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown",
},
},
// ─── WORKSPACE ──────────────────────────────────────────────────────────────
{
"context": "Workspace",
"bindings": {
"ctrl-e": "project_panel::Toggle",
"ctrl-o": "terminal_panel::Toggle",
"ctrl-p": "file_finder::Toggle",
},
},
// ─── CTRL-W CLOSE → CTRL-W Q ────────────────────────────────────────────────
{
"context": "Pane",
"bindings": { "ctrl-w": null },
},
{
"context": "Workspace",
"bindings": { "ctrl-w": null },
},
{
"context": "SettingsWindow",
"bindings": { "ctrl-w": null },
},
{
"context": "Pane",
"bindings": { "ctrl-w q": "pane::CloseActiveItem" },
},
{
"context": "SettingsWindow",
"bindings": { "ctrl-w q": "workspace::CloseWindow" },
},
{
"context": "Workspace",
"unbind": {
"ctrl-`": "terminal_panel::Toggle",
},
},
{
"context": "Workspace",
"bindings": {
"ctrl-`": "projects::OpenRecent",
},
},
{
"context": "Workspace",
"unbind": {
"ctrl-r": "projects::OpenRecent",
},
},
]