Last active
March 18, 2025 21:48
-
-
Save baldwindavid/da067ef4a39ef09550e56a97bba22f8f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
//////////////////////////////////////////// | |
// All Contexts | |
//////////////////////////////////////////// | |
{ | |
"bindings": { | |
// Open Project | |
"cmd-shift-p": "projects::OpenRecent", | |
// Left Dock | |
"cmd-[": "workspace::ToggleLeftDock", | |
"cmd-e": "project_panel::ToggleFocus", | |
"cmd-o": "outline_panel::ToggleFocus", | |
"cmd-g g": "git_panel::ToggleFocus", | |
// Right Dock | |
"cmd-]": "workspace::ToggleRightDock", | |
"cmd-'": "assistant::ToggleFocus", | |
// Bottom Dock | |
"cmd-b": "workspace::ToggleBottomDock", | |
"cmd-.": "terminal_panel::ToggleFocus", | |
// Search Files, Symbols, and Full-Text | |
"cmd-p": "file_finder::Toggle", | |
"cmd-y": "project_symbols::Toggle", | |
"cmd-f": "workspace::NewSearch", | |
"cmd-t": "workspace::NewCenterTerminal", | |
"cmd-;": "command_palette::Toggle", | |
"cmd-i": "tab_switcher::Toggle", | |
// Settings | |
"cmd-, t": ["task::Spawn", { "task_name": "toggle_theme" }], | |
"cmd-, ,": ["task::Spawn", { "task_name": "open_config_repo" }], | |
// Git (WIP) | |
"cmd-g a": "git::StageAll", | |
"cmd-g b": "git::Branch", | |
"cmd-g m": ["task::Spawn", { "task_name": "sublime_merge" }], | |
// Zoom Pane | |
"cmd-m": "workspace::ToggleZoom", | |
// Pane Navigation | |
"cmd-k": "workspace::ActivatePaneUp", | |
"cmd-j": "workspace::ActivatePaneDown", | |
"cmd-h": "workspace::ActivatePaneLeft", | |
"cmd-l": "workspace::ActivatePaneRight", | |
// Splitting Panes | |
"cmd-r": "pane::SplitRight", | |
"cmd-d": "pane::SplitDown", | |
// Move to tab left/right | |
"cmd-alt-l": "pane::ActivateNextItem", | |
"cmd-alt-h": "pane::ActivatePreviousItem", | |
"cmd-\\": "pane::JoinAll", | |
"cmd-|": "workspace::CloseInactiveTabsAndPanes" | |
} | |
}, | |
{ | |
"context": "EmptyPane", | |
"bindings": { | |
// Yazi | |
"-": [ | |
"task::Spawn", | |
{ "task_name": "file_explorer", "reveal_target": "center" } | |
] | |
} | |
}, | |
//////////////////////////////////////////// | |
// Normal & Visual Mode | |
//////////////////////////////////////////// | |
{ | |
"context": "Editor && VimControl && !VimWaiting && !menu", | |
"bindings": { | |
"cmd-enter": "assistant::InlineAssist", | |
"enter": "workspace::Save", | |
"g e": "editor::OpenExcerpts", | |
"g E": "editor::OpenExcerptsSplit", | |
"g a": "search::SelectAllMatches", | |
"g D": "editor::GoToDefinitionSplit", | |
"g r": "editor::FindAllReferences", | |
"space e": "workspace::Open", | |
"g o": "editor::OpenUrl", | |
"space v": "vim::ToggleVisualBlock", | |
"space n": "workspace::ClearAllNotifications", | |
"space =": "editor::SortLinesCaseInsensitive", | |
"space t": ["task::Spawn", { "task_name": "test_under_cursor" }], | |
"space shift-t": ["task::Spawn", { "task_name": "test_file" }], | |
"space space t": "task::Rerun", | |
"space i": "editor::ToggleIndentGuides", | |
"space s": "task::Spawn", | |
"space j": "vim::Decrement", | |
"space k": "vim::Increment", | |
// Yazi | |
"-": [ | |
"task::Spawn", | |
{ "task_name": "file_navigation", "reveal_target": "center" } | |
], | |
"up": "vim::ScrollUp", | |
"down": "vim::ScrollDown", | |
"left": "pane::GoBack", | |
"right": "pane::GoForward", | |
"space g l": "git::Blame", | |
"space g o": "editor::OpenPermalinkToLine", | |
"space g d": "editor::ExpandAllDiffHunks", | |
"space g s": "git::ToggleStaged", | |
"space g r": "git::Restore", | |
"space g c": "git::Commit", | |
"g j": "vim::NextMethodStart", | |
"g k": "vim::PreviousMethodStart", | |
"space a": "editor::NewlineAbove", | |
"space b": "editor::NewlineBelow", | |
"shift-u": "editor::Redo", | |
"space o": "outline::Toggle" | |
} | |
}, | |
//////////////////////////////////////////// | |
// Visual, Visual Line & Visual Block Modes | |
//////////////////////////////////////////// | |
{ | |
"context": "Editor && vim_mode == visual && !VimWaiting && !menu", | |
"bindings": { | |
"v": "editor::SelectLargerSyntaxNode", | |
"V": "editor::SelectSmallerSyntaxNode" | |
} | |
}, | |
{ | |
"context": "vim_mode == visual", | |
"bindings": { | |
"shift-s": ["vim::PushAddSurrounds", {}] | |
} | |
}, | |
//////////////////////////////////////////// | |
// Terminal | |
//////////////////////////////////////////// | |
{ | |
"context": "Terminal", | |
"bindings": { | |
"cmd-escape": "terminal::ToggleViMode", | |
"cmd-enter": "assistant::InlineAssist" | |
} | |
}, | |
{ | |
"context": "Dock > Pane > Terminal", | |
"bindings": { | |
"cmd-t": "workspace::NewTerminal" | |
} | |
}, | |
//////////////////////////////////////////// | |
// TabSwitcher | |
//////////////////////////////////////////// | |
{ | |
"context": "TabSwitcher", | |
"bindings": { | |
"cmd-shift-i": "menu::SelectPrevious", | |
"cmd-backspace": "tab_switcher::CloseSelectedItem" | |
} | |
}, | |
//////////////////////////////////////////// | |
// Completions | |
//////////////////////////////////////////// | |
{ | |
"context": "Editor && showing_completions", | |
"bindings": { | |
"enter": "editor::Newline" | |
} | |
}, | |
{ | |
"context": "Editor && edit_prediction_conflict", | |
"bindings": { | |
"tab": "editor::AcceptEditPrediction", | |
"right": "editor::ComposeCompletion" | |
} | |
}, | |
//////////////////////////////////////////// | |
// Git (WIP) | |
//////////////////////////////////////////// | |
{ | |
"context": "GitPanel && ChangesList", | |
"bindings": { | |
"enter": "git::Diff", | |
"j": ["workspace::SendKeystrokes", "j g f"], | |
"k": ["workspace::SendKeystrokes", "k g f"], | |
"g g": ["workspace::SendKeystrokes", "g g g f"], | |
"shift-g": ["workspace::SendKeystrokes", "shift-g g f"] | |
} | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment