add zed dotfiles

This commit is contained in:
2025-06-14 10:14:19 -06:00
parent 39976567ed
commit 4bcd55c0b1
3 changed files with 229 additions and 0 deletions

152
dot_config/zed/keymap.json Normal file
View File

@@ -0,0 +1,152 @@
// 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": "Editor && (vim_mode == normal || vim_mode == visual) && !VimWaiting && !menu",
"bindings": {
// put key-bindings here if you want them to work in normal & visual mode
// Git
"space g h d": "editor::ToggleSelectedDiffHunks",
"space g s": "git_panel::ToggleFocus",
// Toggle inlay hints
"space t i": "editor::ToggleInlayHints",
// Toggle soft wrap
"space u w": "editor::ToggleSoftWrap",
// Open markdown preview
"space m p": "markdown::OpenPreview",
"space m P": "markdown::OpenPreviewToTheSide",
// Open recent project
"space f p": "projects::OpenRecent",
// Search word under cursor
"space s w": "pane::DeploySearch",
"space f w": "pane::DeploySearch",
// Chat with AI
"space a c": "agent::ToggleFocus",
// Go to file with `gf`
"g f": "editor::OpenExcerpts"
}
},
{
"context": "Editor && vim_mode == normal && !VimWaiting && !menu",
"bindings": {
// put key-bindings here if you want them to work only in normal mode
// Window movement bindings
// Ctrl jklk to move between panes
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown",
"ctrl-/": ["editor::ToggleComments", { "advance_downwards": false }],
"space c": "pane::CloseActiveItem",
"space w": "workspace::Save",
"space e": "workspace::ToggleLeftDock",
"space l r": "editor::Rename",
"space l a": "editor::ToggleCodeActions",
"space .": "editor::ToggleCodeActions",
"g d": "editor::GoToDefinition",
"g D": "editor::GoToDefinitionSplit",
"g i": "editor::GoToImplementation",
"g I": "editor::GoToImplementationSplit",
"g t": "editor::GoToTypeDefinition",
"g T": "editor::GoToTypeDefinitionSplit",
"g r": "editor::FindAllReferences",
"] d": "editor::GoToDiagnostic",
"[ d": "editor::GoToPreviousDiagnostic",
"s s": "outline::Toggle",
"s S": "project_symbols::Toggle",
"space x x": "diagnostics::Deploy",
"] h": "editor::GoToHunk",
"[ h": "editor::GoToPreviousHunk",
"space f f": "file_finder::Toggle"
}
},
{
"context": "EmptyPane || SharedScreen",
"bindings": {
// Open file finder
"space f f": "file_finder::Toggle",
// Open recent project
"space f p": "projects::OpenRecent"
}
},
// Comment code
{
"context": "Editor && vim_mode == visual && !VimWaiting && !menu",
"bindings": {
// visual, visual line & visual block modes
"g c": "editor::ToggleComments",
"ctrl-d": "vim::SelectNext"
}
},
{
"context": "Editor",
"bindings": {
// "j k": ["workspace::SendKeystrokes", "escape"]
"shift-alt-k": "editor::AddSelectionAbove", // Insert Cursor Above
"shift-alt-j": "editor::AddSelectionBelow", // Insert Cursor Below
"ctrl-l": "editor::AcceptEditPrediction"
}
},
{
"context": "ProjectPanel",
"bindings": {}
},
// Toggle terminal
{
"context": "Workspace",
"bindings": {
"ctrl-\\": "terminal_panel::ToggleFocus"
}
},
// Panel nagivation
{
"context": "Dock",
"bindings": {
"ctrl-w h": "workspace::ActivatePaneLeft",
"ctrl-w l": "workspace::ActivatePaneRight",
"ctrl-w k": "workspace::ActivatePaneUp",
"ctrl-w j": "workspace::ActivatePaneDown"
}
},
{
"context": "Terminal",
"bindings": {
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown"
}
},
{
"context": "ProjectPanel && not_editing",
"bindings": {
"a": "project_panel::NewFile",
"x": "project_panel::Cut",
"y": "project_panel::Copy",
"Y": "workspace::CopyRelativePath",
"d": "project_panel::Delete",
"p": "project_panel::Paste",
"r": "project_panel::Rename",
// Navigate between panel
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown",
"space e": "workspace::ToggleLeftDock"
}
}
]

View File

@@ -0,0 +1,77 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"base_keymap": "VSCode",
"agent": {
"model_parameters": [],
"default_model": {
"provider": "zed.dev",
"model": "claude-sonnet-4"
},
"version": "2"
},
"vim_mode": true,
"vim": {
"enable_vim_sneak": true
},
"relative_line_numbers": true,
"ui_font_size": 16,
"buffer_font_size": 16,
"file_finder": {
"modal_width": "medium"
},
"tab_bar": {
"show": true,
"style": "default"
},
"tabs": {
"show_diagnostics": "errors"
},
"indent_guides": {
"enabled": true,
"coloring": "indent_aware"
},
"inlay_hints": {
"enabled": true
},
"terminal": {
"env": {
"EDITOR": "zed --wait"
}
},
"theme": {
"mode": "system",
"light": "One Light",
"dark": "Catppuccin Mocha"
},
"icon_theme": "Catppuccin Macchiato",
"file_scan_exclusions": [
"**/.git",
"**/.svn",
"**/.hg",
"**/CVS",
"**/.DS_Store",
"**/Thumbs.db",
"**/.classpath",
"**/.settings",
// above is default from Zed
"**/out",
"**/dist",
"**/.husky",
"**/.turbo",
"**/.vscode-test",
"**/.vscode",
"**/.next",
"**/.storybook",
"**/.tap",
"**/.nyc_output",
"**/report",
"**/node_modules"
]
}

View File