承接上文:前面我们清理了标题栏、Tab、状态栏、项目面板等外围UI。界面骨架打扫干净之后,接下来我们深入编辑器核心画布——代码编辑区,微调光标、选中、搜索、Vim模式等底层编辑行为,让输入体验完全贴合键盘流习惯。
"vim_mode":true,"multi_cursor_modifier":"cmd_or_ctrl","cursor_shape":"block","cursor_blink":false,"selection_highlight":false,"drag_and_drop_selection":{"enabled":false},"seed_search_query_from_cursor":"never"配置逐项解读
“vim_mode”: true
开启Zed内置Vim模式,不需要额外安装插件。
开启后支持Vim经典Normal/Insert/Visual模式,h/j/k/l移动、dd删除、yw复制等全套Vim操作。
这是键盘流极简工作流的基石,配合前面关闭Tab栏、隐藏鼠标交互的配置,彻底脱离鼠标。
“multi_cursor_modifier”: “cmd_or_ctrl”
多光标修饰键,跨平台兼容。
Windows/Linux 使用Ctrl + 鼠标点击,Mac 使用Cmd + 鼠标点击来新增多光标。
如果你习惯Vim,很多时候会用Vim原生多光标,但保留这个配置,方便临时鼠标多选场景。
“cursor_shape”: “block”
方块光标。
不再是默认竖线光标,块状光标是Vim用户经典偏好,在Normal模式下辨识度更高,一眼看清光标覆盖位置。
“cursor_blink”: false
关闭光标闪烁。
闪烁的光标长时间编码容易视觉疲劳,尤其沉浸式写代码时,静止方块光标更加沉稳,减少视觉干扰,延续整套UI“低干扰”设计思路。
“selection_highlight”: false
关闭非激活选区高亮。
当你选中一段文本,切换到别的位置后,原本选中区域的背景高亮会消失。
适合场景:复制文本之后,不想页面残留大片背景色块,保持画布干净。⚠️注意:选中时依旧有高亮,失去焦点才取消,不会影响当前选中识别。
“drag_and_drop_selection”: {“enabled”: false}
禁用选中文本拖拽。
关闭鼠标拖拽选中内容移动文本的能力。
这套配置的核心思路:弱化鼠标操作,避免无意拖拽误改代码,强制用快捷键剪切/移动文本,减少手滑失误。
“seed_search_query_from_cursor”: “never”
关闭“以光标下文本自动填充搜索词”。
默认行为:把光标所在单词,自动作为搜索框初始内容。设置never之后,打开搜索框永远是空输入框,不会偷偷预填充内容。
防止意外搜索,避免不经意间被当前变量名干扰搜索意图,搜索行为完全由自己手动输入控制。
整套设计思路:从视觉净化 → 行为净化
上一节做的是界面元素大扫除,隐藏标题栏、Tab、状态栏、面板线条;
本节是编辑行为约束:
- 启用Vim,全面键盘驱动;
- 消除闪烁、多余高亮等动态视觉噪音;
- 禁用鼠标拖拽这类容易误触的操作;
- 关闭搜索自动填充,减少编辑器的“自动猜测”行为。
简单一句话:让编辑器少自作主张,只安静接收你的指令。
小结
外围UI干净只是第一步,编辑器内部的光标、选中、搜索这些微小交互,才是持续编码时持续刺激眼睛、打断专注的源头。
这套编辑区配置,和前面的UI清理搭配,共同构建一套完整的沉浸式编码环境:界面没有多余组件,编辑器不会自作主张添加高亮、预填搜索,配合Vim模式,全程键盘驱动,几乎不需要碰鼠标。