From 0e851754d7813831a34ed2791fed10fef4a0e5bb Mon Sep 17 00:00:00 2001 From: js0ny Date: Mon, 13 Oct 2025 10:42:57 +0100 Subject: [PATCH] zed: base config --- home/.chezmoiignore.tmpl | 1 + home/dot_config/nvim/lua/keymaps/leaders.lua | 12 +- home/dot_config/zed/keymap.json | 72 +++++++----- home/dot_config/zed/keymap_backup.json | 109 ------------------- home/dot_config/zed/settings.json | 43 ++++++-- 5 files changed, 80 insertions(+), 157 deletions(-) delete mode 100644 home/dot_config/zed/keymap_backup.json diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 8d3e9e3..557c772 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -34,6 +34,7 @@ scripts .config/lsd .config/keyd .config/readline +.chezmoiscripts/* {{ end }} {{ end }} diff --git a/home/dot_config/nvim/lua/keymaps/leaders.lua b/home/dot_config/nvim/lua/keymaps/leaders.lua index 4146870..27aa3a6 100644 --- a/home/dot_config/nvim/lua/keymaps/leaders.lua +++ b/home/dot_config/nvim/lua/keymaps/leaders.lua @@ -132,13 +132,13 @@ local leader_mappings = { }, w = { -- +window { keys = "h", cmd = "h", opts = { desc = "Left Window" } }, - { keys = "n", cmd = "j", opts = { desc = "Down Window" } }, - { keys = "e", cmd = "k", opts = { desc = "Up Window" } }, - { keys = "i", cmd = "l", opts = { desc = "Right Window" } }, + { keys = "j", cmd = "j", opts = { desc = "Down Window" } }, + { keys = "k", cmd = "k", opts = { desc = "Up Window" } }, + { keys = "l", cmd = "l", opts = { desc = "Right Window" } }, { keys = "H", cmd = "H", opts = { desc = "Move Window Left" } }, - { keys = "N", cmd = "J", opts = { desc = "Move Window Down" } }, - { keys = "E", cmd = "K", opts = { desc = "Move Window Up" } }, - { keys = "I", cmd = "L", opts = { desc = "Move Window Right" } }, + { keys = "J", cmd = "J", opts = { desc = "Move Window Down" } }, + { keys = "K", cmd = "K", opts = { desc = "Move Window Up" } }, + { keys = "L", cmd = "L", opts = { desc = "Move Window Right" } }, { keys = "-", cmd = ":split", opts = { desc = "Split to down" } }, { keys = "|", cmd = ":vsplit", opts = { desc = "Split to right" } }, { keys = "/", cmd = ":vsplit", opts = { desc = "Split to right" } }, diff --git a/home/dot_config/zed/keymap.json b/home/dot_config/zed/keymap.json index 041288d..6b28d81 100644 --- a/home/dot_config/zed/keymap.json +++ b/home/dot_config/zed/keymap.json @@ -8,21 +8,11 @@ // Windows: %APPDATA%\Zed\keymaps.json // Linking: (link the whole directory) // ln -sf $DOTFILES/tools/zed ~/.config/zed - // 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. - // https://github.com/zed-industries/zed/tree/main/assets/keymaps // Sequence: https://zed.dev/docs/key-bindings#remapping-keys [ @@ -39,17 +29,17 @@ "bindings": { // "j k": ["workspace::SendKeystrokes", "escape"] - "alt-e": "editor::AddSelectionAbove", // Insert Cursor Above - "alt-n": "editor::AddSelectionBelow" // Insert Cursor Below + "alt-k": "editor::AddSelectionAbove", // Insert Cursor Above + "alt-j": "editor::AddSelectionBelow" // Insert Cursor Below } }, { "context": "vim_mode == normal || vim_mode == visual", "bindings": { - "N": "vim::JoinLines", - "l": "vim::InsertBefore", - "L": "vim::InsertFirstNonWhitespace" + "J": "vim::JoinLines", + "i": "vim::InsertBefore", + "I": "vim::InsertFirstNonWhitespace" } }, { @@ -57,7 +47,7 @@ "bindings": { "H": "vim::StartOfLine", - "I": "vim::EndOfLine" + "L": "vim::EndOfLine" } }, { @@ -65,35 +55,42 @@ "bindings": { "H": "pane::ActivatePreviousItem", - "I": "pane::ActivateNextItem" + "L": "pane::ActivateNextItem" } }, { - "context": "GitPanel || ProjectPanel || CollabPanel || OutlinePanel || ChatPanel || VimControl || EmptyPane || SharedScreen || MarkdownPreview || KeyContextView", + // "context": "GitPanel || ProjectPanel || CollabPanel || OutlinePanel || ChatPanel || VimControl || EmptyPane || SharedScreen || MarkdownPreview || KeyContextView", + "context": "Editor && vim_mode == normal && !VimWaiting && !menu", "bindings": { "space space": "file_finder::Toggle", "space ;": "command_palette::Toggle", + "space /": "pane::DeploySearch", "space f c": "zed::OpenSettings", "space f e c": "zed::OpenSettings", "space f t": "project_panel::ToggleFocus", + "space c f": "editor::Format", "ctrl-w h": "workspace::ActivatePaneLeft", - "ctrl-w i": "workspace::ActivatePaneRight", - "ctrl-w e": "workspace::ActivatePaneUp", - "ctrl-w n": "workspace::ActivatePaneDown" + "ctrl-w l": "workspace::ActivatePaneRight", + "ctrl-w k": "workspace::ActivatePaneUp", + "ctrl-w j": "workspace::ActivatePaneDown", + "[ d": "editor::GoToPreviousDiagnostic", + "] d": "editor::GoToDiagnostic", + "[ g": "editor::GoToPreviousHunk", + "] g": "editor::GoToHunk" } }, { "context": "vim_mode == normal || vim_mode == visual || vim_mode == operator", "bindings": { - "n": "vim::Down", - "e": "vim::Up", - "i": "vim::Right", - "k": "search::SelectNextMatch", - "K": "search::SelectPreviousMatch", - "N": ["workspace::SendKeystrokes", "n n n n n"], - "E": ["workspace::SendKeystrokes", "e e e e e"], + "j": "vim::Down", + "k": "vim::Up", + "l": "vim::Right", + "n": "search::SelectNextMatch", + "N": "search::SelectPreviousMatch", + "J": ["workspace::SendKeystrokes", "j j j j j"], + "K": ["workspace::SendKeystrokes", "k k k k k"], "Y": ["workspace::SendKeystrokes", "y $"] } }, @@ -101,12 +98,27 @@ "context": "ProjectPanel && not_editing", "bindings": { - "n": "menu::SelectNext", - "e": "menu::SelectPrevious", + "j": "menu::SelectNext", + "k": "menu::SelectPrevious", "i": "project_panel::ExpandSelectedEntry", "A": "project_panel::NewDirectory", "a": "project_panel::NewFile", "d": "project_panel::Delete" } + }, + { + "context": "Terminal", + + "bindings": { + "ctrl-p": ["terminal::SendKeystroke", "ctrl-p"], + "ctrl-n": ["terminal::SendKeystroke", "ctrl-n"], + "ctrl-T": "workspace::NewTerminal", + "ctrl-w": null, + "ctrl-w ctrl-w": ["terminal::SendKeystroke", "ctrl-w"], + "ctrl-w h": "workspace::ActivatePaneLeft", + "ctrl-w k": "workspace::ActivatePaneUp", + "ctrl-w l": "workspace::ActivatePaneRight", + "ctrl-w j": "workspace::ActivatePaneDown" + } } ] diff --git a/home/dot_config/zed/keymap_backup.json b/home/dot_config/zed/keymap_backup.json deleted file mode 100644 index 516848a..0000000 --- a/home/dot_config/zed/keymap_backup.json +++ /dev/null @@ -1,109 +0,0 @@ -// $DOTFILES/tools/zed/keymaps.json -// Date: 2025-01-25 -// Author: js0ny -// Description: Zed keymaps - -// Location: -// GNU/Linux: ~/.config/zed/keymaps.json -// Windows: %APPDATA%\Zed\keymaps.json -// Linking: (link the whole directory) -// ln -sf $DOTFILES/tools/zed ~/.config/zed - -// 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. - -// https://github.com/zed-industries/zed/tree/main/assets/keymaps -// Sequence: https://zed.dev/docs/key-bindings#remapping-keys -[ - { - "context": "Workspace", - - "bindings": { - // "shift shift": "file_finder::Toggle" - } - }, - - { - "context": "Editor", - - "bindings": { - // "j k": ["workspace::SendKeystrokes", "escape"] - } - }, - { - "context": "vim_mode == normal || vim_mode == visual", - - "bindings": { - "N": "vim::JoinLines", - "l": "vim::InsertBefore", - "L": "vim::InsertFirstNonWhitespace" - } - }, - { - "context": "vim_mode == visual || vim_mode == operator", - - "bindings": { - "H": "vim::StartOfLine", - "I": "vim::EndOfLine" - } - }, - { - "context": "vim_mode == normal", - - "bindings": { - "H": "pane::ActivatePrevItem", - "I": "pane::ActivateNextItem" - } - }, - { - "context": "GitPanel || ProjectPanel || CollabPanel || OutlinePanel || ChatPanel || VimControl || EmptyPane || SharedScreen || MarkdownPreview || KeyContextView", - - "bindings": { - "space space": "file_finder::Toggle", - "space ;": "command_palette::Toggle", - "space f c": "zed::OpenSettings", - "space f e c": "zed::OpenSettings", - "space f t": "project_panel::ToggleFocus", - "ctrl-w h": "workspace::ActivatePaneLeft", - "ctrl-w i": "workspace::ActivatePaneRight", - "ctrl-w e": "workspace::ActivatePaneUp", - "ctrl-w n": "workspace::ActivatePaneDown" - } - }, - { - "context": "vim_mode == normal || vim_mode == visual || vim_mode == operator", - - "bindings": { - "n": "vim::Down", - "e": "vim::Up", - "i": "vim::Right", - "k": "search::SelectNextMatch", - "K": "search::SelectPrevMatch", - "N": ["workspace::SendKeystrokes", "n n n n n"], - "E": ["workspace::SendKeystrokes", "e e e e e"] - } - }, - { - "context": "ProjectPanel && not_editing", - - "bindings": { - "n": "menu::SelectNext", - "e": "menu::SelectPrev", - "i": "project_panel::ExpandSelectedEntry", - "A": "project_panel::NewDirectory", - "a": "project_panel::NewFile", - "d": "project_panel::Delete" - } - } -] diff --git a/home/dot_config/zed/settings.json b/home/dot_config/zed/settings.json index 259798f..867d045 100644 --- a/home/dot_config/zed/settings.json +++ b/home/dot_config/zed/settings.json @@ -18,6 +18,25 @@ // custom settings, run `zed: open default settings` from the // command palette (cmd-shift-p / ctrl-shift-p) { + // Theming + "icon_theme": "Material Icon Theme", + "theme": { + "mode": "system", + "light": "Rosé Pine Dawn", + "dark": "Catppuccin Macchiato" + }, + "tabs": { + "show_diagnostics": "errors", + "show_close_button": "hover", + "file_icons": true + }, + // Base keymaps + "base_keymap": "VSCode", + "vim_mode": true, + "vim": { + "use_system_clipboard": "on_yank", + "use_smartcase_find": true + }, "features": { "edit_prediction_provider": "zed" }, @@ -32,32 +51,32 @@ "proxy_no_verify": null } }, - "base_keymap": "VSCode", - "vim_mode": true, "ui_font_size": 16, "buffer_font_size": null, - "theme": { - "mode": "system", - "light": "Rosé Pine Dawn", - "dark": "Kanagawa Dragon" - }, "relative_line_numbers": true, - "buffer_font_family": "Maple Mono NF CN", + "buffer_font_family": "Zed Plex Mono", "remove_trailing_whitespace_on_save": true, - "assistant": { + "agent": { "default_model": { "provider": "copilot_chat", "model": "claude-3-7-sonnet" - }, - "version": "2" + } }, "inlay_hints": { "enabled": true, - "show_type_hints": true + "show_type_hints": true, + "show_parameter_hints": true }, "terminal": { "env": { "EDITOR": "zed --wait" } + }, + "file_types": { + "JSON": ["*.code-snippets"] + }, + "telemetry": { + "diagnostics": false, + "metrics": false } }