Cover image for Zed

Zed

Words 684
Views
Visitors

Timeline

Timeline

2025-10-28

init

This article introduces the user experience of the Windows version of the Zed editor, pointing out that it outperforms VSCode in resource usage and smoothness, and natively supports WSL and SSH remote development. However, it also suffers from imperfect Emacs keymap support and a poor Git visualization experience. Based on this, specific personalization settings are shared, including themes, fonts, and configuration files.

Zed editor has also released a Windows version. After trying it out, it indeed uses fewer resources and runs smoother than VS Code. It just goes to show that any compiled language can easily beat JS, let alone Rust. Moreover, this editor is more inclined to use the GPU, so the CPU usage is relatively low. The pleasant surprise is the native support for WSL and SSH remote development, but the support for Emacs keymap is still in the beta stage and the Git visualization is terribly done. After some tinkering, here is my configuration.

Download directly from the official website for installation:

Using the OneDark theme and Fira Code font. The former requires downloading this plugin, and the latter requires installing this font on Windows.

settings.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// 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

The Emacs keymap is still in the beta stage, and the experience is not yet perfect. Below, I remapped it and it’s barely usable now.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// 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 window
"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"
}
}
]