Skip to content

Instantly share code, notes, and snippets.

@adrianlungu
Last active December 16, 2025 12:18
Show Gist options
  • Select an option

  • Save adrianlungu/138117d66da9534de3b310b280ae52a0 to your computer and use it in GitHub Desktop.

Select an option

Save adrianlungu/138117d66da9534de3b310b280ae52a0 to your computer and use it in GitHub Desktop.
Zed config

Various requirements beforehand:

Fonts

brew install --cask font-jetbrains-mono
brew install --cask font-monaspace
brew install --cask font-fira-code

Lazygit

Install

brew install lazygit

Side-by-side Diff

https://github.com/jesseduffield/lazygit/issues/155#issuecomment-2260986940
// Zed keymap updated with various IntelliJ-specific changes
//
// 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": "Workspace",
// "bindings": {
// // "shift shift": "file_finder::Toggle"
// }
// },
// {
// "context": "Editor && vim_mode == insert",
// "bindings": {
// // "j k": "vim::NormalBefore"
// }
// },
// {
// "bindings": {
// "alt-cmd-0": [
// "zed::ResetBufferFontSize",
// {
// "persist": false
// }
// ]
// }
// }
// ]
[
{
"context": "Workspace",
"bindings": {
// Search Everywhere (Double Shift)
// Note: Zed doesn't support "double tap" natively yet, so we map Shift-Shift
// to the file finder which is the closest equivalent.
"shift shift": "file_finder::Toggle",
// Find in Files (Cmd + Shift + F)
"cmd-shift-f": "pane::DeploySearch",
// Recent Files (Cmd + E)
// Zed uses the file finder for this, usually showing recent files first.
"cmd-e": "file_finder::Toggle",
// Project View / Sidebar (Cmd + 1)
"cmd-1": "project_panel::ToggleFocus",
// Terminal (Option + F12)
// Structure / Outline (Cmd + 7)
"cmd-7": "outline_panel::ToggleFocus",
// Git / Version Control (Cmd + 9)
"cmd-9": "git_panel::ToggleFocus",
// Run / Debug (Cmd + R - approximates "Run")
// Opens the task spawner which lets you run tests/scripts
}
},
{
"context": "Editor",
"bindings": {
// Rename Refactoring (Shift + F6)
"shift-f6": "editor::Rename",
// Go to Declaration (Cmd + B) - usually standard, but ensuring it.
"cmd-b": "editor::GoToDefinition",
// Go to Implementation (Cmd + Option + B)
"cmd-alt-b": "editor::GoToTypeDefinition",
// Find Usages (Option + F7)
"alt-f7": "editor::FindAllReferences",
// Navigate Back / Forward (Cmd + [ / ])
// Ensures this behaves like IntelliJ's caret history navigation
"cmd-[": "pane::GoBack",
"cmd-]": "pane::GoForward",
// Select Next Occurrence (Ctrl + G in IntelliJ usually, or Ctrl+Cmd+G)
// Zed defaults to Cmd+D. Mapping IntelliJ's specific "Select All Occurrences"
"cmd-ctrl-g": "editor::SelectAllMatches",
// Extend Selection (Option + Up) / Shrink Selection (Option + Down)
"alt-up": "editor::SelectLargerSyntaxNode",
"alt-down": "editor::SelectSmallerSyntaxNode",
// Duplicate Line (Cmd + D)
"cmd-d": "editor::DuplicateLineDown",
// Delete Line (Cmd + Backspace)
"cmd-backspace": "editor::DeleteLine"
}
},
{
"context": "ProjectPanel",
"bindings": {
// Rename file in the sidebar (Shift + F6)
"shift-f6": "project_panel::Rename",
// Create new file (Cmd + N)
"cmd-n": "project_panel::NewFile",
// Delete file (Delete)
"backspace": "project_panel::Delete",
"delete": "project_panel::Delete"
}
},
{
"context": "Terminal",
"bindings": {
// Clear Terminal (Cmd + K)
"cmd-k": "terminal::Clear"
}
},
{
"bindings": {
"cmd-shift-j": "git::Pull"
}
},
{
"bindings": {
"shift-h": "project_panel::ToggleHideHidden"
}
}
]
// 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)
{
// Allows using multiple projects in the same window (in fullscreen mode in my case)
"use_system_window_tabs": true,
"ui_font_weight": 300.0,
"buffer_font_weight": 300.0,
"relative_line_numbers": "disabled",
"autosave": "on_window_change",
"colorize_brackets": true,
"minimap": {
"show": "auto"
},
// "unstable.ui_density": "compact", // I prefer a more compact workflow
"project_panel": {
"indent_size": 20.0,
"git_status": true,
"folder_icons": false,
"file_icons": true,
"entry_spacing": "standard",
"hide_hidden": false
},
"git_panel": {
"sort_by_path": false
},
"features": {
"edit_prediction_provider": "copilot"
},
"file_scan_exclusions": [
"**/.svn",
"**/.hg",
"**/.jj",
"**/CVS",
"**/.DS_Store",
"**/Thumbs.db",
"**/.classpath",
"**/.settings"
// Remove the "**/.git" entry from this list!
],
"agent": {
"default_profile": "write",
"default_model": {
"provider": "copilot_chat",
"model": "gpt-5-mini"
},
"model_parameters": []
},
"inlay_hints": {
"enabled": true
},
"lsp": {
// other lsp settings
"vtsls": {
"settings": {
// Your base JS & TS settings
// https://zed.dev/docs/languages/typescript#large-projects
// Your vtsls specific settings
"vtsls": {
"tsserver": {
"globalPlugins": [
{
"name": "@vue/typescript-plugin",
"location": "/opt/homebrew/lib/node_modules",
"enableForWorkspaceTypeScriptVersions": true
}
]
}
}
}
}
},
"preferred_line_length": 120,
"soft_wrap": "preferred_line_length",
"base_keymap": "JetBrains",
"icon_theme": {
"mode": "system",
"light": "Zed (Default)",
"dark": "JetBrains New UI Icons (Dark)"
},
"ui_font_size": 14,
// https://monaspace.githubnext.com/
"ui_font_family": "Monaspace Neon", // brew install --cask font-monaspace
"buffer_font_size": 13,
// https://formulae.brew.sh/cask/font-jetbrains-mono
"buffer_font_family": "JetBrains Mono", // brew install --cask font-jetbrains-mono
"buffer_line_height": {
"custom": 1.6
},
"theme": {
"mode": "system",
"light": "Ayu Light",
"dark": "JetBrains New Dark"
},
"theme_overrides": {
"JetBrains New Dark": {
"background.appearance": "blurred",
"background": "#000000DD",
"elevated_surface.background": "#26282A", // Elevated surface doesn't need transparency otherwise it's unreadable
"editor.background": "#FFFFFF1D",
"editor.gutter.background": "#FFFFFF1D",
"editor.subheader.background": "#FFFFFF1D",
"editor.active_line.background": "#FFFFFF10",
// "editor.highlighted_line.background": "#FFFFFF12",
"terminal.background": "#1C1D1FAA",
"terminal.ansi.background": "#1C1D1FAA",
"tab_bar.background": "#FFFFFF1D",
"tab.active_background": "#FFFFFF1D",
"tab.inactive_background": "#FFFFFF0D",
"toolbar.background": "#FFFFFF2D",
"title_bar.background": "#FFFFFF10",
"title_bar.inactive_background": "#FFFFFF00",
"panel.background": "#2D2D2DDD",
"panel.overlay_background": "#26282A",
"ghost_element.background": "#FFFFFF00",
"status_bar.background": "#2D2D2DDD",
"surface.background": "#FFFFFF1D",
"drop_target.background": "#0000003D",
"editor.wrap_guide": "#FFFFFF10",
"editor.active_wrap_guide": "#FFFFFF10",
"editor.indent_guide": "#FFFFFF1D",
"editor.indent_guide_active": "#FFFFFF2F",
"created": "#e7968bff",
"ignored": "#FFFFFF5F",
"text.muted": "#FFFFFFDD",
"element.selected": "#293b63FF",
"border": "#FFFFFF0D",
"border.variant": "#FFFFFF10",
"panel.focused_border": "#FFFFFF0A",
"pane.focused_border": "#FFFFFF1D",
"pane_group.border": "#FFFFFF1D",
"drop_target.border": "#FFFFFF10"
}
},
"auto_install_extensions": {
"astro": true,
"csv": true,
"docker-compose": true,
"dockerfile": true,
"env": true,
"fish": true,
"git-firefly": true,
"github-theme": true,
"go-snippets": true,
"golangci-lint": true,
"gosum": true,
"graphql": true,
"html": true,
"ini": true,
"intellij-newui-theme": true,
"jetbrains-new-ui-icons": true,
"json5": true,
"lua": true,
"make": true,
"nginx": true,
"proto": true,
"scss": true,
"sql": true,
"terraform": true,
"ultimate-dark-neo": true,
"vue": true,
"vue-snippets": true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment