Various requirements beforehand:
brew install --cask font-jetbrains-mono
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) | |
| { | |
| "project_panel": { | |
| "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.3, | |
| "ui_font_family": "JetBrains Mono", | |
| "buffer_font_size": 13, | |
| "buffer_font_family": "JetBrains Mono", | |
| "buffer_line_height": { | |
| "custom": 1.45 | |
| }, | |
| "theme": { | |
| "mode": "system", | |
| "light": "Ayu Light", | |
| "dark": "JetBrains New Dark" | |
| }, | |
| "theme_overrides": { | |
| "JetBrains New Dark": { | |
| "editor.indent_guide": "#2a2d31ff", | |
| "editor.indent_guide_active": "#404149ff", | |
| "created": "#e7968bff", | |
| "ignored": "#FFFFFF3F", | |
| "text.muted": "#FFFFFFA0" | |
| } | |
| }, | |
| "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 | |
| } | |
| } |