sublime text 4 是底层重写带来的体验跃迁,但 gpu 渲染默认开启、tab 补全逻辑变更、多选标签不支持连续区间这三点会悄然打破用户习惯,需手动调整配置以恢复原有操作流。

Sublime Text 4 不是“小修小补”,而是底层重写带来的体验跃迁——但多数人升级后第一反应不是变快了,而是“我原来的 Tab 补全/多标签操作/显卡显示怎么不灵了?”
GPU 渲染默认开启导致界面卡顿或闪烁
ST4 默认启用 hardware_acceleration,对老显卡(如 Intel HD 4000)、部分 Linux 发行版(Ubuntu 20.04 + Nouveau 驱动)或 Windows 远程桌面环境,可能触发标签页闪退、状态栏错位、滚动撕裂等现象。
- 临时关闭:在
Preferences → Settings中添加"hardware_acceleration": "none" - 折中方案:设为
"hardware_acceleration": "canvas",保留部分加速能力但规避合成层问题 - Windows 远程桌面用户务必关闭,否则可能出现黑屏或无响应
Tab 键不再无条件触发 snippet
这不是 bug,是行为变更:tab_key 的默认绑定从“只要匹配就插入”改为“仅在当前作用域匹配且无其他补全候选时才触发”。结果就是:输入 for 后按 Tab,若 LSP 插件正返回函数建议,snippet 就被跳过。
- 恢复旧逻辑:在
Preferences → Key Bindings中添加绑定:[{"keys": ["tab"], "command": "insert_snippet", "args": {"name": "Packages/User/your-snippet.sublime-snippet"}}] - 更稳妥做法:用
Ctrl+Space手动唤出补全面板,再方向键选中 snippet 行回车 - 检查
view.settings().get("auto_complete")是否为True,某些插件(如 AutoFileName)会临时关闭它
多选标签功能的实际限制与正确用法
“多选标签”听起来像浏览器那样支持 Shift+Click 区间选择,但 ST4 实际只支持 Ctrl+Click 逐个加选或鼠标拖选——不支持连续区间,也不保存到会话恢复中,重启即清空。
- 批量关闭:选中多个标签后,右键 →
Close Selected Tabs,或按Ctrl+W(Windows/Linux)/Cmd+W(Mac) - 拆分对比:选中两个标签后,拖拽任一标签到编辑区边缘可自动创建新组;但三标签无法同时拖入不同组
- 真正高效的多文件操作不在标签页,而在
Ctrl+Shift+F全局查找替换,配合Where输入*.py或src/**精确限定范围
Python 3.8 底层升级引发的插件兼容性问题
ST4 底层 Python 升至 3.8,asyncio、typing 等模块行为有细微差异,部分老插件会报 AttributeError 或异步协程异常。
- 常见错误信息:
RuntimeError: asyncio.run() cannot be called from a running event loop - 检查插件是否调用
asyncio.get_event_loop()而非asyncio.get_running_loop() - 临时禁用可疑插件:在
Preferences → Package Settings中逐个关闭,观察是否恢复稳定 - 升级前建议备份
Packages/User/下自定义配置和 snippet,避免 Python 版本切换导致路径解析失败
真正容易被忽略的是:GPU 渲染开关、Tab 行为变更、多选标签的非连续性这三点,它们不会报错,但会悄悄打乱你已有的肌肉记忆。改配置不难,关键是得先意识到“不是我手生了,是编辑器变了”。











