ctrl+p 输入 most recently 是唯一可靠入口,它调出按访问时间倒序排列的全量文件历史,数据源自 session.sublime_session 的 recent_files 字段,跨重启有效且支持搜索。

Ctrl+P 输入 most recently 是唯一可靠入口
Sublime Text 原生不提供“最近编辑过”的独立筛选维度,Ctrl+P(macOS 用 Cmd+P)输入 most recently 是最接近需求的操作——它调出的是按访问时间倒序排列的全量文件历史,其中最新打开、切换、保存过的文件天然置顶。这个列表包含已关闭但曾被编辑过的文件,只要没被手动清空或禁用 remember_open_files,就跨重启有效。
常见错误现象:Ctrl+P 输文件名搜不到刚改完关掉的 utils.py;或列表里全是旧文件,缺了昨天反复编辑的那几个。
- 确认不是在单文件模式下操作:左下角状态栏必须显示项目路径(如
~/my-project/),否则Ctrl+P只索引当前标签页,不扫描磁盘 - 检查
Preferences → Settings – User是否含"file_history_size": 100—— 默认只存 100 条,频繁编辑时容易被挤掉,可扩为200或更高 -
most recently不区分“是否保存”,但首次打开即关闭、且未触发任何编辑行为(如光标移动、输入)的文件,可能不会进入历史
为什么 File → Open Recent 不够用
菜单里的 File → Open Recent 最多只显示 10 条,不可搜索、不可滚动、不支持关键词过滤,且重启后列表重置。它和 Ctrl+P 背后的数据源不同:Open Recent 是运行时缓存,而 Ctrl+P 读的是落盘的 Session.sublime_session 中的 recent_files 字段,这才是“真相源”。
如果你发现 Ctrl+P 列表突然变短,大概率是以下原因之一:
-
Preferences → Settings – User里误加了"remember_open_files": false - 插件(如
ProjectManager)劫持了on_activated事件,干扰了历史记录写入 - 手动删过
Packages/User/Local Settings.sublime-settings里的file_history数组,但没同步更新Session.sublime_session
想精准定位“编辑过但未保存”的文件?只能靠 open_files + 全局搜索
Sublime 不记录“编辑状态”,但未保存的 untitled 标签页仍会出现在 Ctrl+P 历史中(标题带 *)。若你记得某段代码内容但不确定存在哪个临时文件里,可用 Ctrl+Shift+F(macOS Cmd+Shift+F)配合 Where 框填 open_files 进行全文搜索——这是唯一能命中所有已打开(含未保存)标签页的方式。
注意三点:
-
open_files仅在项目模式下有效;单文件启动时,它退化为只搜当前标签页,不报错也不提示 - 某些插件(如旧版
Origami)会拦截open_files请求,临时禁用插件可验证是否是干扰所致 - 搜索结果里,未保存文件的路径显示为
untitled:123这类伪路径,点击即可跳转到对应标签页
真正清空或修复历史记录,必须操作 Session.sublime_session
菜单里的 Clear Recent Files 只清运行时缓存,对 recent_files、file_history、recent_workspaces 都无效。要彻底重置,必须:
- 完全退出 Sublime Text(包括托盘进程)
- 用外部编辑器(不要用 Sublime 自己)打开
Packages/User/Session.sublime_session - 将
recent_files、file_history、recent_workspaces三项设为空数组:[],确保 JSON 合法(逗号、引号、括号配对) - 保存后重新启动
这个文件是唯一真相源,也是最容易被忽略的环节——很多人改了设置、清了缓存,却忘了它才是历史记录的最终落盘位置。











