快捷键管理
这一章解决什么问题
帮助你理解 Zed 的快捷键体系,学会查看、自定义快捷键,以及导入 VS Code 键位。
资料来源
你会在什么时候用到它
- 想修改某个快捷键时
- 从 VS Code 迁移,想保持习惯键位时
- 需要为特定操作设置快捷键时
默认键位体系
Zed 默认使用 VS Code 兼容键位,所以如果你习惯 VS Code,基本不需要重新适应。
查看所有快捷键
Ctrl+Shift+P → open keymap 或查看默认键位文档。
基础快捷键速查
文件操作
| 快捷键 | 功能 |
|---|---|
Ctrl+N | 新建文件 |
Ctrl+O | 打开文件夹 |
Ctrl+S | 保存文件 |
Ctrl+Shift+S | 另存为 |
Ctrl+W | 关闭当前标签 |
Ctrl+P | 快速打开文件 |
编辑操作
| 快捷键 | 功能 |
|---|---|
Ctrl+Z / Ctrl+Y | 撤销/重做 |
Ctrl+X / Ctrl+C / Ctrl+V | 剪切/复制/粘贴 |
Ctrl+F / Ctrl+H | 查找/替换 |
Ctrl+A | 全选 |
Ctrl+/ | 注释/取消注释 |
Shift+Alt+F | 格式化 |
导航
| 快捷键 | 功能 |
|---|---|
F12 | 跳转到定义 |
Shift+F12 | 查看引用 |
Alt+Left / Alt+Right | 后退/前进 |
Ctrl+G | 跳转到行 |
Ctrl+T | 搜索符号 |
面板
| 快捷键 | 功能 |
|---|---|
Ctrl+Shift+P | 命令面板 |
Ctrl+` | 终端 |
Ctrl+Shift+G | Git 面板 |
Ctrl+Shift+E | 项目面板 |
Ctrl+Shift+M | 诊断面板 |
分屏
| 快捷键 | 功能 |
|---|---|
Ctrl+K Ctrl+\ | 垂直分屏 |
Ctrl+1 / Ctrl+2 | 聚焦第1/2窗格 |
Git
| 快捷键 | 功能 |
|---|---|
Ctrl+Shift+G | 打开 Git 面板 |
Ctrl+Enter | Commit |
自定义快捷键
打开 keymap.json
Ctrl+Shift+P → open keymap
快捷键配置格式
json
[
{
"context": "Workspace",
"bindings": {
"ctrl-shift-t": "workspace::NewTerminal"
}
},
{
"context": "Editor",
"bindings": {
"ctrl-d": "editor::DuplicateLine",
"ctrl-shift-k": "editor::DeleteLine"
}
}
]Context(上下文)
快捷键可以限定在特定上下文中生效:
| Context | 说明 |
|---|---|
Workspace | 全局 |
Editor | 编辑器内 |
Terminal | 终端内 |
ProjectPanel | 项目面板 |
GitPanel | Git 面板 |
常用自定义示例
添加保存全部
json
[
{
"context": "Workspace",
"bindings": {
"ctrl-k s": "workspace::SaveAll"
}
}
]修改格式化快捷键
json
[
{
"context": "Editor",
"bindings": {
"ctrl-shift-i": "editor::Format"
}
}
]切换键位预设
Zed 内置了多种键位预设,可以从其他编辑器迁移:
json
{
"base_keymap": "VSCode"
}可选值:
"VSCode"— VS Code 键位(默认)"JetBrains"— JetBrains IDE 键位"SublimeText"— Sublime Text 键位"Atom"— Atom 键位"TextMate"— TextMate 键位
迁移建议
如果你从 VS Code 迁移,建议保持默认 "VSCode" 预设,然后只自定义个别快捷键。
本章小结
- Zed 默认使用 VS Code 兼容键位
Ctrl+Shift+P→open keymap编辑快捷键- 快捷键可以限定在特定上下文中
- 可以切换
base_keymap使用其他编辑器的键位预设
小练习
- 打开 keymap.json,添加一个自定义快捷键
- 尝试切换不同的 base_keymap
- 为常用操作设置你喜欢的快捷键