关闭索引是最有效的降CPU手段:添加{"index_files":false}可使CPU回落至1–3%,但会禁用Ctrl+P路径搜索、跳转定义等功能;推荐精准排除node_modules等目录以兼顾性能与功能。

直接关掉索引是最有效的降CPU手段
Sublime Text 的 CPU 飙升,八成以上是 index_files 在后台疯狂扫描项目文件导致的——尤其是打开含 node_modules、dist、.git 的项目时,它会逐个读取成千上万个文件来建跳转数据库,根本停不下来。
最干脆的解法就是关掉它:
打开 Preferences → Settings,在右侧用户设置里加这一行:
{ "index_files": false }
保存后重启,你会发现 CPU 立刻回落到 1–3%,界面响应也变跟手了。但要注意:
– Ctrl+P 将只能搜已打开的文件名,不再匹配路径或内容
– Go to Definition(F12)、Find All References 这类依赖符号索引的功能会失效
– 如果你只写脚本或查日志,这完全不是问题;如果是大型工程开发,建议改用「排除目录」方案代替全关
精准排除 node_modules 等大目录(推荐给开发者)
保留索引功能但不让它碰“脏目录”,这才是兼顾效率与功能的平衡点。关键是把排除规则写进项目配置,而不是全局设置——避免影响其他小项目。
操作步骤:
– 打开项目后,选 Project → Edit Project
– 在 JSON 中补全 folder_exclude_patterns 和 file_exclude_patterns:
{ "folders": [ { "path": ".", "folder_exclude_patterns": ["node_modules", "__pycache__", ".git", "dist", "build"], "file_exclude_patterns": ["*.log", "*.tmp", "*.zip"] } ] }
这样 Sublime 和 LSP 插件都不会加载这些目录,索引速度提升 5–10 倍,CPU 占用从 80%+ 降到 10% 以内。容易踩的坑:
– 不要漏掉 __pycache__ 或 venv,Python 项目里它们也是隐形 CPU 杀手
– folder_exclude_patterns 只作用于项目根目录下的子目录,如果依赖在更深层(如 src/lib/node_modules),得用插件如 LSP 自带的 initializationOptions 单独配置
– 排除后,Ctrl+Shift+F 全局搜索仍能扫这些目录,只是不索引——这是设计,不是 bug
plugin_host 进程 CPU 高?大概率是某个插件在后台死循环
plugin_host 是 Sublime 运行 Python 插件的独立进程,一旦它持续占满一个 CPU 核,基本可以断定是某个插件失控了,比如 LSP 服务器反复崩溃重启、SublimeLinter 在大文件上实时跑校验、或者 GitGutter 持续轮询状态。
快速定位方法:
– 启动时加 -safe-mode 参数(命令行运行 subl -safe-mode),如果 CPU 正常,说明问题出在插件
– 打开控制台 Ctrl+`,看有没有重复报错,比如 "starting LSP-eslint..." 刷屏,或 UnicodeDecodeError 卡住解析
– 用任务管理器/活动监视器观察 plugin_host 的启动时间:如果它刚启动就飙高,很可能是初始化阶段出问题
实操建议:
– 优先禁用 LSP、SublimeLinter、GitGutter、AutoFileName 这几类实时插件
– 对必须用的 LSP,进其设置加限制:"enabled": true, "settings": { "files": { "exclude_patterns": ["**/node_modules/**"] } }
– 不要迷信“最新版”,有些 v1.5.x 的 LSP 插件比 v2.x 更稳,尤其在 Windows 上
索引卡在“updating”不动?清缓存比调参数更管用
有时候你改了设置,重启后索引状态栏还是显示“updating…”,鼠标悬停提示“Indexing 12493 files”,CPU 却没怎么动——这不是慢,是卡死了。常见原因是索引缓存损坏或残留锁文件,强行调 index_workers 或 cache_size 没用。
正确做法只有一步:
– 完全退出 Sublime Text(检查任务管理器确认无 subl.exe 或 Sublime Text 进程残留)
– 删除对应平台的索引缓存目录:
Windows:%LOCALAPPDATA%\Sublime Text\Cache\Index
macOS:~/Library/Caches/com.sublimetext/Cache/Index
Linux:~/.cache/sublime-text/Cache/Index
– 重新打开项目,它会按新设置重建索引,通常几秒内就完成
这个操作不会丢设置、插件或项目配置,但会清除所有历史搜索记录和符号跳转缓存。如果你习惯用 Ctrl+P 搜函数名,首次重建后可能稍慢,之后就恢复正常了。
真正难处理的,是那些既不能关索引、又必须包含 node_modules 的场景(比如调试 Webpack 源码)。这时候就得接受:Sublime 不是万能的,该切 VS Code 调试时就别硬扛。










