ctrl+z仅撤销编辑行为,不撤销文件关闭等操作;ctrl+shift+k原子删除整行且不可撤销;ctrl+shift+t独立恢复关闭文件,与undo栈无关。

Ctrl+Z 就是撤销,但不是所有“撤”都算数
Sublime Text 的 Ctrl+Z(macOS 用 Cmd+Z)只撤销编辑行为:输入、删除、粘贴、缩进调整等。它不撤销文件关闭、标签切换、面板展开或命令面板操作——这些压根不在它的 undo 栈里。
- 连续按
Ctrl+Z可逐级回退编辑;按Ctrl+Y(或Cmd+Y)重做,本质是 undo 栈的反向遍历 - 如果刚保存过文件,再撤销会回到上次保存时的状态(前提是没关过文件)
- 一旦执行了非编辑类操作(比如按
Ctrl+P搜索、点击侧边栏),undo 栈不会中断,但后续编辑仍可正常撤销
误删整行?别慌,Ctrl+Shift+K 是精准清除
很多人习惯用 Ctrl+Z 挽救误删整行,其实更稳的是 Ctrl+Shift+K:它直接删除当前行,不触发字符级 undo 堆栈,避免因多步撤销把刚写的逻辑也卷进去。
-
Ctrl+Shift+K删除的是光标所在行,哪怕光标在行中任意位置 - 它不会影响剪贴板,所以删完还能用
Ctrl+V粘回去(只要没执行其他覆盖剪贴板的操作) - 和
Ctrl+Z不同,这个操作本身不可被撤销——它属于“原子删除”,设计上就是一步到位
撤销不了?先看焦点在哪、有没有插件劫持
按了 Ctrl+Z 没反应,大概率不是快捷键坏了,而是当前上下文不支持 undo。
- 焦点必须在编辑区:如果光标停在命令面板、搜索框、状态栏或侧边栏,
Ctrl+Z会静默失败——按Esc退出浮层再试 - 某些插件(如 Vintage、Emacs Prologue)会重绑定
Ctrl+Z为“暂停/挂起”,打开Preferences → Key Bindings搜索ctrl+z,确认用户设置中没有覆盖默认undo命令 - 如果文件是只读模式(比如通过
sudo打开或权限受限),编辑操作本身被禁,自然也没有 undo 可做
想撤关掉的文件?Ctrl+Shift+T 不是 Undo,是弹栈
Ctrl+Shift+T 恢复的是最近关闭的文件,但它和 Ctrl+Z 完全无关——它不走 undo 栈,而是维护一个独立的关闭文件 LIFO 栈。
- 关了
A.js→B.py→C.css,按一次Ctrl+Shift+T只恢复C.css;再按才恢复B.py - 未保存的文件(标题带
*)默认不入栈,这是防误恢复脏数据的设计,不是 bug - 重启 Sublime 后栈清空,除非你开了
"hot_exit": true和"remember_open_files": true,靠session.sublime_session文件续上
Ctrl+Z)和恢复关闭(Ctrl+Shift+T)背后是两套完全隔离的机制,混用它们只会徒增困惑。








