sublime text 全局搜索失效主因是 index 数据库或 cache 插件产物损坏,需同时清理 cache 和 index 目录并终止所有 sublime 进程;索引启用时会阻塞搜索,可禁用 "index_files" 改用实时扫描;原生无搜索历史,插件生成的历史需手动编辑 findhistory.sublime-settings 清理,并通过设置上限防复发。

Sublime Text 的全局搜索(Find in Files)历史不单独存在,它混在会话快照和索引缓存里;真正要清的不是“历史”,而是损坏的 Index 数据库或卡住的 Cache 插件产物——否则搜不到内容,连错误提示都不会给。
为什么 Find in Files 突然搜不到东西?先查 Index 和 Cache 是否损坏
全局搜索失效,90% 不是配置问题,而是底层 SQLite 索引文件损坏或被锁死。比如异常退出后 Index 目录下的 index.db 卡在半加载状态,或者 Cache 里 LSP-pyright 的临时符号表写坏,导致搜索逻辑静默跳过整个项目目录。
- 必须同时清理两个位置:
Cache(插件运行时产物)和Index(全文搜索数据库),只删一个没用 - Windows 路径示例:
%APPDATA%\Sublime Text\Cache、%LOCALAPPDATA%\Sublime Text\Index - macOS 路径示例:
~/Library/Application Support/Sublime Text/Cache、~/Library/Application Support/Sublime Text/Index - Linux 路径示例:
~/.config/sublime-text/Cache、~/.config/sublime-text/Index - 删之前务必杀光所有进程:
sublime_text.exe、subl.exe(Windows);活动监视器里确认 Sublime 及 helper 进程全无(macOS);pkill -f "sublime_text"(Linux)
清完缓存后还卡在 “Searching…”?关掉 index_files 再试
即使缓存清干净了,如果用户设置里 "index_files": true(默认值),Sublime 会在后台自动重建索引——尤其含 node_modules 的项目,这个过程可能阻塞搜索请求,且不报错。
- 打开
Preferences → Settings,在右侧用户设置中加一行:"index_files": false - 重启后直接用
Ctrl+Shift+F,它会走实时文件扫描,反而更快更可靠 - 如需索引功能(比如频繁跳转定义),等编辑器稳定后再手动执行
Project → Index Files,别让它自动后台跑 - 这个开关不影响已有的查找历史(那些在
Find.sublime-settings里的),只控制是否启用索引加速
想清掉某几次旧的全局搜索关键词?原生不支持,得看插件
Sublime Text 原生没有“全局搜索历史”这个概念——Ctrl+Shift+F 面板本身不记录输入词。你看到的下拉列表,要么是当前会话残留(关掉面板再呼出就没了),要么来自插件(如 FindInFilesEnhanced)写的 FindHistory.sublime-settings。
- 验证是否插件所为:关掉所有插件 → 重启 →
Ctrl+Shift+F输入几个词 → 关闭面板 → 再呼出。如果下拉为空,说明历史来自插件 - 插件历史路径:
%APPDATA%\Sublime Text\Packages\User\FindHistory.sublime-settings(Windows)或对应系统的Packages/User/目录 - 用记事本或 VS Code 打开该文件(绝不能用 Sublime 自己打开),找到
"find_history": [],手动删掉数组里不想留的字符串项 - 确保 JSON 合法:引号闭合、括号配对、数组末尾无多余逗号;写成
"find_history": ["api", "user_id"],别写成null或留空行
防复发比清理更重要:设上限 + 关源头
手动删一次,几天后又堆满几十条,根本原因是没关掉生成机制。真正清爽靠两层控制:
- 在用户设置里加这两行:
"find_history_max_items": 15、"replace_history_max_items": 10——只对新增生效,已有历史不会自动裁剪,所以得先配合清空操作 - 如果连“最近打开文件”“窗口布局”都不想留,直接关掉会话持久化:
"hot_exit": false和"remember_open_files": false,这样Session.sublime_session文件几乎为空,连带file_history也无从积累 - 别碰
ConsoleHistory.sublime-settings——那是控制台(Ctrl+`)的历史,和查找完全无关,删错文件只会白忙活











