Timeline
Timeline
2025-10-28
init
This article introduces the experience of using the Windows version of the Zed editor, pointing out that it is superior to VSCode in resource usage and smoothness, and natively supports WSL and SSH remote development, but also has problems such as incomplete Emacs keymap support and poor Git visualization experience. On this basis, it shares specific personalization methods including themes, fonts, and configuration files.
Zed editor has also released a Windows version. After trying it, it indeed uses fewer resources and is smoother than VS Code. It can only be said that any compiled language can beat JS, let alone Rust. Moreover, this editor tends to use the GPU, so CPU usage is relatively low. Surprisingly, it natively supports WSL and SSH remote development, but the Emacs keymap support is still in beta and the Git visualization is really poor. After some tinkering, here is my configuration.
Installation: download directly from the official website:
I used the OneDark theme and Fira Code font. The former requires downloading this plugin, and the latter requires installing this font on Windows.
settings.json
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | // 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){ "terminal": { "shell": { "program": "powershell.exe" } }, "icon_theme": "Catppuccin Frappé", "project_panel": { "dock": "left" }, "vim_mode": false, "buffer_font_family": "Fira Code", "ui_font_features": { "calt": true }, "buffer_font_features": { "calt": true }, "languages": { "Rust": { "inlay_hints": { "enabled": true } } }, "diagnostics": { "inline": { "enabled": true } }, "disable_ai": true, "confirm_quit": true, "autosave": { "after_delay": { "milliseconds": 500 } }, "telemetry": { "diagnostics": false, "metrics": false }, "minimap": { "show": "always", "display_in": "active_editor", "thumb": "always" }, "base_keymap": "Emacs", "ui_font_size": 16, "buffer_font_size": 16.0, "theme": { "mode": "system", "light": "One Dark Pro", "dark": "One Dark" }} |
keymap.json
Emacs keymap is still in beta, and the experience is not yet complete. I remapped it below and it is barely usable.
12345678910111213141516171819202122232425262728293031323334353637383940 | // 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": "Workspace", "bindings": { // "shift shift": "file_finder::Toggle" "ctrl-n": null, "ctrl-p": null, "ctrl-x t": "terminal_panel::Toggle", "F8": "workspace::ToggleLeftDock" } }, { "context": "Editor && vim_mode == insert", "bindings": { // "j k": "vim::NormalBefore" } }, { "context": "Editor", "bindings": { // Emacs Enhanced "alt-w": "editor::Copy", // Alt+W Copy "ctrl-y": "editor::Paste", // Ctrl+Y Paste "alt-x": "command_palette::Toggle", // Alt+X Open command palette "ctrl-x f": "editor::Format", // Ctrl+X F mapped to format "ctrl-,": "editor::GoToDefinition", // Go to definition "ctrl-shift-/": "editor::Redo", // Redo "F8": "workspace::ToggleLeftDock", "alt-n": "editor::GoToDiagnostic", "alt-p": "editor::GoToPreviousDiagnostic" } }] |