sublime text 4 闪退主因是 gpu 渲染异常、default 包被禁用、viewport_size 超限及插件 host 崩溃,需分层验证并针对性修复:--no-gpu 启动验证 gpu 问题,恢复 default 包,调小 viewport_size,按语法隔离问题插件。

闪退直接退出进程,不是崩溃日志,先确认是不是GPU渲染崩了
Sublime Text 4 升级后一打开就消失、任务管理器里进程闪一下就没了——这大概率不是插件或配置错,而是 GPU 渲染路径在新架构下触发驱动异常。ST4 默认启用 gpu_window_buffer,但旧显卡(如 Intel HD 4000、AMD R5 M230)或未更新的 Windows DWM、macOS Metal 驱动会在初始化纹理时直接 kill 进程,连控制台都来不及弹。
验证方法很简单:subl --no-gpu 启动,如果能稳住,就是 GPU 问题。Windows 用户可进「图形设置」把 sublime_text.exe 设为“省电”模式;macOS 执行:defaults write com.sublimetext.4 "gpu_window_buffer" -bool false,然后重启。
别急着复制 ST3 的 User 文件夹,先清掉 ignored_packages 里的 Default
很多人重装 ST4 后闪退或菜单空白,是因为沿用了 ST3 的用户设置,其中 ignored_packages 里写了 ["Default", "Vintage"] 这类条目。ST4 依赖 Default 包做 Unicode 边界检测、BOM 处理和基础语法 fallback,禁用它会导致解析器遇到 \u202E 或 \uFEFF 时栈溢出,一滚动就崩。
- 打开 Preferences → Settings – User,删掉
"Default"(保留其他插件名) - Ctrl+Shift+P 输入
Reload Syntax Definitions,强制重载内置语法 - 别信“没写 Default 就没事”——检查整个数组,确保没有拼写错误或多余空格
大文件加载即闪退?不是内存不够,是 viewport_size 超限
升级后打开一个 98MB 的 JSON 日志,刚显示第一屏就退出,不是 OOM,而是 ST4 的默认 viewport_size(100000 字符)在 GPU 渲染缓冲区里溢出了。尤其当文件含超长单行(>100 万字符)或混合编码段时,word_wrap 和 draw_white_space 在计算软换行时会断言失败。
临时修复:在用户设置里加一行:"viewport_size": 2000。这不是性能妥协,而是绕过 GPU 缓冲区上限的硬性限制。等文件加载完成,再手动关掉该设置也不迟。
插件 host 异常退出,别全局禁用,按语法类型隔离
plugin_host has exited unexpectedly 不代表插件全坏了,而是某个插件(比如 GitGutter、BracketHighlighter)在加载大文件时调用 view.substr() 或全量正则匹配,导致 Python host segfault,主进程跟着挂。安全模式 subl --safe-mode 能稳住,说明问题出在插件层。
但别直接删 Installed Packages 下所有 .sublime-package——ST4 插件格式和加载机制已变,旧包可能不兼容。正确做法是:
- 打开出问题的文件(比如
app.log),执行 Ctrl+Shift+P →Set Syntax: Plain Text - 进 Preferences → Settings – Syntax Specific,粘贴:
{"ignored_packages": ["GitGutter", "BracketHighlighter"]} - 保存后重新设回原语法(如 JSON),插件就不会对该类型文件生效
真正难处理的不是闪退本身,而是它往往由多个条件叠加触发:GPU + 特殊 Unicode + 插件 + 大文件 viewport,缺一不可。所以修复必须分层验证,不能只改一处就以为搞定。











