Sublime Text 无撤销历史面板,撤销/重做仅限当前文件内存栈,关文件或重启即丢失;恢复删代码需查缓存或用Ctrl+P搜访问历史。

Sublime Text 没有传统意义上的“撤销历史面板”,它的撤销(Ctrl+Z)和重做(Ctrl+Y)只作用于当前文件的编辑栈,不跨文件、不持久、不显示列表。
撤销操作只能在当前文件内来回跳转
Sublime 的 undo 和 redo 是纯内存级操作,基于每个文件独立维护的线性操作栈。你关掉文件再重开,或者重启 Sublime,所有未保存的撤销点就彻底丢失——它不像 VS Code 或 IntelliJ 那样把编辑历史存在会话里。
-
Ctrl+Z每按一次,回退一步;连续按,逐层弹出最近的编辑动作(插入、删除、剪切等) -
Ctrl+Y(Windows/Linux)或Cmd+Shift+Z(macOS)恢复上一步被撤销的动作 - 撤销栈深度默认是 100 步,可通过设置
"undo_history_max_entries"调整(但极少有人真去改) - 不支持鼠标悬停预览某步撤销前的内容,也没有时间轴或操作描述
想找回“删掉的代码”?别只靠 Ctrl+Z
如果你刚手滑删了一大段没保存的代码,Ctrl+Z 失效(比如已切换标签、执行了其他命令),就得转向更底层的恢复机制。
- 检查是否启用了
hot_exit:打开Preferences → Settings,确认有"hot_exit": true——这是重启后还能看到未保存修改的前提 - 去本地缓存找临时副本:路径如
C:\Users\用户名\AppData\Roaming\Sublime Text 3\Local\Recovery\(Windows)或~/Library/Application Support/Sublime Text 3/Local/Recovery/(macOS),里面可能有按时间戳命名的.tmp文件,用文本编辑器直接打开搜关键词 - 如果文件曾被保存过,
Ctrl+P输入most recently可调出全量访问历史,找到上次保存的版本再手动比对
真正能查“历史”的其实是文件访问记录,不是编辑步骤
用户常问的“历史记录”,实际多数是指“我昨天改过的那个文件在哪”“刚才关掉的那个脚本叫什么”——这不是撤销系统管的,而是会话和索引系统在管。
-
Ctrl+P输入most recently是最快路径:它调用的是 Sublime 内置的文件访问时序索引,包含所有近期打开/关闭/编辑过的文件(哪怕已关),支持模糊搜索 - 菜单
File → Open Recent最多只列 10 个,且不可搜、不可翻页,实用性远不如Ctrl+P - 会话文件
Session.sublime_session存的是窗口状态、光标位置、折叠状态等,不是编辑快照;删它只会清空“最近打开”,不会影响撤销栈
容易被忽略的一点:撤销栈和文件历史完全解耦。你可以在 A 文件里狂按 Ctrl+Z,同时在 Ctrl+P 里搜到 B 文件的旧路径——但这两个“历史”之间没有任何关联,也不存在统一入口查看。需要哪类恢复,就得用对应的工具,混用会白忙活。










