根本原因是插件(如findinfilesenhanced)将查找词写入findhistory.sublime-settings,或hot_exit+remember_open_files导致面板状态恢复;需用外部编辑器清空user目录下该文件中的find_history数组,并禁用相关插件与设置。

Ctrl+F 下拉列表里旧词清不掉,根本原因不是“历史记录”
Sublime Text 原生不保存查找关键词到磁盘,Ctrl+F 面板里的下拉内容只是当前会话的内存缓存,关掉面板或重启后本该消失。如果你反复看到旧词,说明它被外部因素固化了——最常见的是插件(如 FindInFilesEnhanced)写入了 FindHistory.sublime-settings,或者你启用了 hot_exit + remember_open_files,导致整个查找面板状态随窗口一起恢复。
怎么定位并清理真正的历史源头文件
别用 Sublime 自己打开这些文件,否则可能被锁住或覆盖。用记事本、VS Code 等外部编辑器操作:
- 先完全退出 Sublime Text(Windows 检查任务管理器,macOS 注意菜单栏图标是否还在)
- 找这几个路径下的文件:
%APPDATA%\Sublime Text\Packages\User\(Windows)、~/Library/Application Support/Sublime Text/Packages/User/(macOS)、~/.config/sublime-text/Packages/User/(Linux) - 重点关注:
FindHistory.sublime-settings、Find.sublime-settings、SearchHistory.sublime-settings - 打开后搜索
"find_history":和"replace_history":,把对应数组清空成[],确保 JSON 合法(逗号、括号、引号配对)
删错文件会导致查找功能异常,这些坑要避开
ConsoleHistory.sublime-settings 和查找历史完全无关,它只管 Ctrl+` 控制台输入;Session.sublime_session 里存的是项目和文件路径,不是搜索词。误删它们不会清掉 Ctrl+F 旧词,反而可能让控制台无法调出命令,或丢失未保存的窗口布局。
真正影响多行搜索框下拉列表的,只有 Find.sublime-settings(在 Local 目录下)或插件生成的 FindHistory.sublime-settings(在 User 目录下)。前者改完立刻生效,后者必须重启才刷新。
一劳永逸:防复发配置和验证方式
光清一次不够,得堵住源头:
- 在
Preferences → Settings右侧用户设置中加两行:"hot_exit": false和"remember_open_files": false - 禁用可疑插件(尤其是带 “find” “history” 字样的),再测试:关闭 Sublime → 重启 →
Ctrl+F输入词 → 关闭面板 → 再呼出。如果下拉为空,问题就定位准了 - 想限制历史条数?加
"find_history_max_items": 15,但注意这个参数只对部分插件有效,原生 Sublime 不认
复杂点在于:不同插件写历史的位置不统一,有的写 User,有的写 Local,还有的直接塞进 Session.sublime_session。每次清完建议留个备份,下次再出现旧词时,比对新增的配置文件就能快速锁定肇事插件。











