为什么我选择从其他 IDE 切换到 Zed
看过 Emacs 之路 这篇文章的话,之前有一段时间一直在使用 Emacs/Doomemacs。
安装
配置
设置(Settings)
完整配置可以查看: dotfiles/zed/settings.json
下面方式方式都可以打开设置界面:
- 快捷键
cmd-,
; cmd-shift-p
> 输入zed: open settings
基本设置
UI
语言相关(Lang, LSP)
快捷键(Keymaps)
Zed
的快捷键配置(Key bindings - Zed)以 json/json5
作为配置格式,形式如下:
- context
1)上下文条件,只有在满足特定的上下文条件下,对应的快捷键绑定才会生效; 2)类型可以是字符串、对象、数组;描述上下文条件,包括模式、状态、焦点等;
常见的 context
条件值:
条件 | 描述 | 示例 |
---|---|---|
editorState | 编辑器状态 | normal , insert |
fileType | 当前文件类型 | text , markdown , go , rust |
focus | 当前焦点在哪个界面元素上 | editor , sidebar , search |
workspace | 工作区或指定项目环境 | default , projectA |
mode | 编辑器模式 | insert , virsual |
vimMode | Vim 的模式(启用 Vim 时) | insert , virsual |
hasSelection | 是否选中文本 | true , false |
isDirty | 文件是否未保存 | true , false |
- bindings
bindings
顾名思义,指定的快捷键;类型可以是字符串、对象、数组;
示例:
完整配置可以查看: dotfiles/zed/keymap.json
下面方式方式都可以打开快捷键设置界面:
- 快捷键
cmd-k cmd-s
; cmd-shift-p
> 输入zed: open keymap
默认快捷键我会以表格形式呈现,自定义按键使用 json 配置,方便区分和直接复制粘贴使用。
核心
快捷键 | 描述 | 命令 |
---|---|---|
cmd-, | 打开设置界面 | zed::OpenSettings |
cmd-shift-p | 打开命令面板 | command_palette::Toggle |
cmd-k cmd-s | 打开快捷键配置界面 | zed::OpenKeymap |
Workspace(工作空间)
Pane
快捷键 | 描述 |
---|---|
cmd-shift-e | 焦点切换侧边栏-编辑区 |
Editor
File/Lang
问题清单
Problem | Issue | Solution |
---|---|---|
无法自定义设置文件默认语言 | Default language setting? | 设置文件的默认语言 |
设置代理(无法拉取依赖) | Add basic proxy settings | 设置代理 |
无法移除部分默认快捷键 | How to remove a default keybinding? | ❌ |