Ctrl+Z仅撤销编辑动作,Ctrl+U专撤光标添加动作,两者栈完全隔离;Esc可硬重置为单光标,不依赖历史。

Ctrl+Z 撤销编辑操作,Ctrl+U 撤销光标添加动作——两者完全独立,混用就丢内容。
Ctrl+Z 只管删/写/粘贴,不碰光标状态
你按 Ctrl+D 选了 5 处变量,再输入一段注释,接着发现第 3 处选错了。此时狂按 Ctrl+Z,它会先把注释撤掉,再撤掉第 5 次 Ctrl+D,然后是第 4 次……但这个过程和“光标在哪”无关,只按编辑动作的时间顺序倒退。
常见错误现象:
-
Ctrl+Z按完发现光标只剩一个,但想撤的只是某个误选位置 - 刚写完函数体,想撤掉多光标替换却把代码也回退了
- 右下角没报错,但快捷键突然“失灵”——其实是
User.sublime-keymap里 JSON 格式错误,整个键位文件失效
根本原因:Ctrl+Z 的撤销栈和光标历史栈物理隔离,互不感知。它不记录“你在哪加了光标”,只记“你删了什么、写了什么”。
Ctrl+U 是唯一能倒退光标操作的命令
Ctrl+U(Windows/Linux)或 ⌘+U(macOS)专用于撤销“光标怎么加进来的”,比如:
- 按
Ctrl+D逐个匹配词时,某次误点,想跳过它 - 先
Ctrl+Click加了 2 个光标,再Alt+拖动列选 3 行,最后Ctrl+Shift+L拆出 4 行——共 9 个光标,Ctrl+U按一次就少最后加的那个(即拆行),再按一次撤列选,第三次才回到手动点的那两个 - 全选
console.log后发现某处是注释里的,需精准剔除而非全删
注意:Ctrl+U 不看位置远近,只认添加时间;方向键、Backspace、Tab 都可能触发光标归并,导致按了没反应——这时别硬按,直接上 Esc。
Esc 是多光标失控时的终极保险键
当你发现:
- 点了好几下
Ctrl+Click光标没反应 - 按
Ctrl+U没变化,或者光标突然只剩一个还偏移了 - 刚粘贴完、切窗口回来、甚至 Sublime 刚启动就光标错乱
——别排查,直接按 Esc。它不走任何历史栈,不依赖焦点,不触发副作用,只做一件事:清空所有辅助光标,留下主光标(即最后操作的那个),且已输入内容毫发无损。
比 Ctrl+U 更底层、更可靠。很多用户卡在“为什么 Ctrl+U 不生效”,其实问题不在命令本身,而在光标已被方向键或鼠标滚轮偷偷合并过,这时 Esc 是唯一能立刻打断脆弱状态的操作。
误删未保存内容,别指望 Ctrl+Z 或 Ctrl+Shift+T
Ctrl+Z 只存在于当前标签页内存中,关掉就清空;Ctrl+Shift+T 只重开“有路径的已关闭文件”,对 Untitled 标签页完全无效。
真要抢救,必须立刻关掉 Sublime,然后去这两个地方挖:
-
Local/Recovery/目录下找recovery-开头的纯文本文件——打开即见源码,无需解析,最省事 -
Session.sublime_session文件里搜你记得的变量名或注释关键词,定位"contents": ""字段复制内容(注意\n和\"是转义)
这两个缓存只在异常退出(崩溃/强制杀进程)后生成,正常退出不会写入,且每次重启都可能被覆盖。最容易被忽略的是:你翻 Recovery 找不到,就放弃;其实 Session 文件里可能藏着三天前的内容——但它们之间没有关联,也没有统一入口,只能手动挨个查。

















