关掉 index_files 是唯一立竿见影的操作:默认开启时会同步扫描整个项目(含 node_modules、.git、dist),导致 CPU 拉满、内存飙升、光标跳动;需在用户设置中添加 "index_files": false 并彻底退出重启。

关掉 index_files 是唯一立竿见影的操作
Sublime 卡顿或崩溃,八成以上是因为 index_files 默认开启,导致它在你敲字时同步扫描整个项目——node_modules 里几万个文件、.git 对象、dist 打包产物全被逐个 stat() + read() + 解析。CPU 拉满、内存飙到 2GB+、光标跳动、方向键失灵,都是它干的。
打开 Preferences → Settings,在右侧用户设置里加这一行:
"index_files": false
改完必须彻底退出 Sublime(Windows 任务管理器确认 sublime_text.exe 和 subl.exe 进程全消失;macOS 活动监视器强制退出所有 com.sublimetext.4;Linux 执行 pkill -f "sublime_text"),再重启——只重载设置无效。
-
Ctrl+R(跳转符号)、Find All References会失效,这是明确副作用 -
Ctrl+P(按文件名)、Ctrl+Shift+F(全局文本搜索)完全不受影响 - 别信“我只开了一个 JS 文件”——只要项目路径下有未排除的
node_modules,它就照扫不误
删缓存必须清空 Cache、Index、Local 三个目录
只删 Cache 目录基本没用,真正拖垮 Sublime 的是 Index 文件夹——它存的是全文搜索和 Goto Definition 的底层数据库,损坏后会出现“搜得到函数名但点不进去”“一打开项目 CPU 就 100%”。Local 则存 UI 状态(侧边栏展开项、标签页顺序、折叠区域),长期不清理会导致启动卡顿、菜单错位、主题加载失败。
路径因系统而异,但必须同步清空以下三类目录:
- Windows:
%APPDATA%\Sublime Text\Cache、%LOCALAPPDATA%\Sublime Text\Cache、%APPDATA%\Sublime Text\Local\Index、%LOCALAPPDATA%\Sublime Text\Local\Index、%APPDATA%\Sublime Text\Local - macOS:
~/Library/Application Support/Sublime Text/Cache、~/Library/Caches/Sublime Text、~/Library/Application Support/Sublime Text/Local/Index、~/Library/Caches/Sublime Text/Local/Index、~/Library/Application Support/Sublime Text/Local - Linux:
~/.config/sublime-text/Cache、~/.cache/sublime-text、~/.config/sublime-text/Local/Index、~/.cache/sublime-text/Local/Index、~/.config/sublime-text/Local
删之前务必确认进程已彻底退出,否则文件被锁,删一半就中断,或删完立刻被写回旧数据。
插件残留比插件本身更危险
Package Control 的 Remove Package 只删主代码,不碰配置、缓存、状态。像 pyright、texlab、GitGutter 这类 LSP 或轮询类插件,卸载后仍可能拉起后台进程,持续吃 CPU。
必须手动清理三处残留:
-
Packages/User/下删对应配置文件:LSP-pyright.sublime-settings、GitGutter.sublime-settings,空文件也要删 -
Cache/中按插件名搜索(如pyright、anaconda、GitGutter),整文件夹删除 -
Local/可直接删——它只存窗口布局、崩溃快照,重启自动生成,但长期不清理会导致启动卡顿
特别注意 GitGutter:Windows 上用 ReadDirectoryChangesW 轮询 Git 状态,遇到大仓库或挂载盘,每秒多次重扫,不报错但让你打字卡顿、保存延迟、光标响应慢半拍。确认是它之后,不必卸载,改其设置为 {"enable_git_gutter": false} 或 {"non_blocking": true}。
大文件打开前必须切 Plain Text 模式
50MB 的日志、单行长 JSON、minified JS,语法高亮 + 自动换行是双重暴击——不是加载慢,是渲染时反复计算软换行位置,直接拖垮主线程。
操作分三步:
- 右下角点当前语法(如
JSON)→Open all with current extension as → Plain Text(手动切,别信状态栏自动识别) - 用户设置里加:
"word_wrap": false(关自动换行)、"line_numbers": false、"highlight_line": false、"draw_white_space": "none" - 确保启用内存映射:
"enable_memory_mapping": true(Windows/macOS/Linux 均有效,对 >10MB 文件提升明显)
如果只是查看,别双击打开——用命令行 subl --safe-mode app.log,跳过所有插件和项目配置。真正卡顿的根源往往不在代码本身,而在编辑器怎么看待那个文件。

















