From b6f97348e5d0fa139579746f01caf27903e867b0 Mon Sep 17 00:00:00 2001 From: Xevion Date: Sun, 11 Jan 2026 16:44:55 -0600 Subject: [PATCH] config: add left-hand optimized Zed keymap with Ctrl+G navigation prefix --- home/.managed/zed/keymap.linux.json | 173 +++++++++++++++++++++++--- home/.managed/zed/settings.linux.json | 7 ++ 2 files changed, 162 insertions(+), 18 deletions(-) diff --git a/home/.managed/zed/keymap.linux.json b/home/.managed/zed/keymap.linux.json index 88306f1..82bae05 100644 --- a/home/.managed/zed/keymap.linux.json +++ b/home/.managed/zed/keymap.linux.json @@ -5,41 +5,178 @@ // // To see the default key bindings run `zed: open default keymap` // from the command palette. +// +// Custom left-hand optimized keymap +// - Ctrl+G prefix for "Go to" navigation commands +// - Dangerous Linux bindings disabled (Alt+Shift+F12, etc.) +// - Debugger F-keys freed up [ + // ========================================================================== + // DISABLED DANGEROUS/UNUSED BINDINGS + // ========================================================================== + { + "bindings": { + // DANGEROUS: Alt+Shift+F12 switches to Linux TTY! + "alt-shift-f12": null, + // Debugger bindings (rarely used, freeing F-keys) + "f4": null, + "shift-f5": null, + "ctrl-shift-f5": null, + "f6": null, + "f7": null, + "ctrl-f11": null, + "shift-f11": null, + }, + }, + { + "context": "Editor", + "bindings": { + // Disable F-key navigation (using Ctrl+G prefix instead) + "f12": null, + "alt-f12": null, + "ctrl-f12": null, + "shift-f12": null, + "ctrl-shift-f10": null, + // Disable F9 debugger bindings + "f9": null, + "shift-f9": null, + // Free up rarely used toggles + "ctrl-;": null, + "ctrl-'": null, + }, + }, + { + "context": "Pane", + "bindings": { + // Disable Alt+1-9 tab switching (rarely used) + "alt-1": null, + "alt-2": null, + "alt-3": null, + "alt-4": null, + "alt-5": null, + "alt-6": null, + "alt-7": null, + "alt-8": null, + "alt-9": null, + "alt-0": null, + }, + }, { "context": "Workspace", "bindings": { - // "shift shift": "file_finder::Toggle" + // Disable Alt+1-9 pane switching (rarely used) + "alt-1": null, + "alt-2": null, + "alt-3": null, + "alt-4": null, + "alt-5": null, + "alt-6": null, + "alt-7": null, + "alt-8": null, + "alt-9": null, + }, + }, + + // ========================================================================== + // CTRL+G NAVIGATION PREFIX SYSTEM + // ========================================================================== + { + "context": "Editor", + "bindings": { + // Go to Definition + "ctrl-g d": "editor::GoToDefinition", + "ctrl-g shift-d": "editor::GoToDefinitionSplit", + // Find All References (was dangerous Alt+Shift+F12!) + "ctrl-g r": "editor::FindAllReferences", + // Go to Implementation + "ctrl-g i": "editor::GoToImplementation", + // Go to Type Definition + "ctrl-g t": "editor::GoToTypeDefinition", + "ctrl-g shift-t": "editor::GoToTypeDefinitionSplit", + // Git Blame + "ctrl-g b": "git::Blame", + // Go to Hunk (git changes) + "ctrl-g h": "editor::GoToHunk", + "ctrl-g shift-h": "editor::GoToPreviousHunk", + }, + }, + { + "context": "Editor && mode == full", + "bindings": { + // Go to Line (moved from direct Ctrl+G) + "ctrl-g l": "go_to_line::Toggle", + // Outline (current file symbols) + "ctrl-g o": "outline::Toggle", + }, + }, + { + "context": "Workspace", + "bindings": { + // Go to Symbol (project-wide) + "ctrl-g s": "project_symbols::Toggle", + }, + }, + + // ========================================================================== + // NEW DIRECT BINDINGS (LEFT-HAND OPTIMIZED) + // ========================================================================== + { + "context": "Editor", + "bindings": { + // Rename Symbol (was F2, now Ctrl+Shift+R for "Rename") + "ctrl-shift-r": "editor::Rename", + // Hover / Quick Info (was Ctrl+K Ctrl+I) + "alt-q": "editor::Hover", + }, + }, + { + "context": "Pane", + "bindings": { + // Go Back/Forward (was awkward Ctrl+Alt+-/_) + "alt-[": "pane::GoBack", + "Xf86launch9": "pane::GoBack", + "alt-]": "pane::GoForward", + "Xf86launch8": "pane::GoForward", + }, + }, + + // ========================================================================== + // RELOCATED BINDINGS + // ========================================================================== + { + "context": "Editor && mode == full && edit_prediction", + "bindings": { + // Edit prediction cycling (moved from Alt+[/] to Alt+,/.) + "alt-.": "editor::NextEditPrediction", + "alt-,": "editor::PreviousEditPrediction", + }, + }, + + // ========================================================================== + // EXISTING CUSTOM BINDINGS (PRESERVED) + // ========================================================================== + { + "context": "Workspace", + "bindings": { + // Tab switching + "ctrl-tab": "pane::ActivateNextItem", + "ctrl-shift-tab": "pane::ActivatePreviousItem", }, }, { "context": "Editor && vim_mode == insert", "bindings": { + // Vim escape with jk "j k": "vim::NormalBefore", }, }, { "context": "Editor", "bindings": { + // Half page scrolling "alt-pageup": "editor::HalfPageUp", - }, - }, - { - "context": "Editor", - "bindings": { "alt-pagedown": "editor::HalfPageDown", - }, - }, - { - "context": "Workspace", - "bindings": { - "ctrl-tab": "pane::ActivateNextItem", - "ctrl-shift-tab": "pane::ActivatePreviousItem", - }, - }, - { - "context": "Editor", - "bindings": { + // Swap tabs left/right "ctrl-alt-left": "pane::SwapItemLeft", "ctrl-alt-right": "pane::SwapItemRight", }, diff --git a/home/.managed/zed/settings.linux.json b/home/.managed/zed/settings.linux.json index 5192061..8293206 100644 --- a/home/.managed/zed/settings.linux.json +++ b/home/.managed/zed/settings.linux.json @@ -7,6 +7,13 @@ // custom settings, run `zed: open default settings` from the // command palette (cmd-shift-p / ctrl-shift-p) { + "agent": { + "default_model": { + "provider": "copilot_chat", + "model": "gpt-5.1" + }, + "model_parameters": [] + }, "features": { "edit_prediction_provider": "copilot" },