ctrl+z仅撤销编辑动作,不处理光标状态;ctrl+y仅重做被ctrl+z撤销的操作;ctrl+u专用于倒退光标添加步骤;esc强制清空所有辅助光标。

Ctrl+Z 和 Ctrl+Y 到底撤销什么
Ctrl+Z 只撤销编辑动作:删了哪几行、替换了什么文本、粘贴了什么内容。它不碰光标状态,也不管你有没有多光标。一旦你切到别的标签页、执行了查找、甚至只是按了下 Tab,撤销栈就可能被截断——关掉文件再重开,所有未保存的撤销点直接清空。
Ctrl+Y(或更稳的 Ctrl+Shift+Z)是它的镜像操作,但只对 Ctrl+Z 撤掉的动作有效;如果中间穿插了其他编辑(比如在别处输了个字母),重做链就断了。
- 撤销栈默认最多存 100 步,但无法查看历史列表,也没有时间轴或预览
- 没保存就关文件?撤销记录全丢,连 Ctrl+Z 都按不出东西
- 想恢复刚删的大段代码却 Ctrl+Z 失效?先去
~/Library/Application Support/Sublime Text 3/Local/Recovery/(macOS)或C:\Users\用户名\AppData\Roaming\Sublime Text 3\Local\Recovery\(Windows)翻 .tmp 文件
Ctrl+U 不是撤销,是“倒带光标添加过程”
Ctrl+U 干的事和 Ctrl+Z 完全不重叠:它只回退你加光标的操作——Ctrl+D 选了 5 处变量名,按一次 Ctrl+U 就剩 4 个光标;Ctrl+Shift+L 把 10 行转成光标后又手抖点错一行,Ctrl+U 能撤掉那次点击,而不是撤掉你刚输的字。
- 它不进编辑撤销栈,不影响
Ctrl+Z的步数 - 按一次退一步,严格按光标添加的时间顺序倒退,不是按位置远近
- 如果
Ctrl+U按了没反应,检查用户设置里是否开着"drag_text": true——关掉它:"drag_text": false,否则多光标链路会被拦截 - 混用了
Alt+鼠标拖动列选和Ctrl+D?Ctrl+U仍能按序倒退,但节奏太密(比如狂按Ctrl+D)会导致退错步
Esc 是唯一能立刻清空所有辅助光标的硬重置
当你发现方向键一按光标就只剩一个、粘贴时内容错位、或者点了好几下 Ctrl+D 都没反应,大概率是多光标已坍缩或处于脆弱状态。Esc 不是“取消”,是强制落地:清掉所有辅助光标,只留主光标,不触发任何撤销、不依赖焦点、不改变内容。
- 比鼠标点击可靠得多——点偏可能展开折叠块、选中整行,甚至触发拖拽
- 哪怕刚切回 Sublime 窗口、刚粘贴完文本,
Esc依然立刻生效 -
←、↑、Backspace、Tab、甚至Alt+Tab切出再切回,都可能偷偷合并光标;别赌运气,先Esc - 输入文字的瞬间,所有光标同步插入后立刻归并为单光标——想输不同内容?别硬扛,用
Ctrl+Shift+P→Split Selection into Lines
Alt+F3 和 Ctrl+D 的误用陷阱
Alt+F3 是无上下文全量匹配,正则模式下也无效;它不区分字符串、注释、变量名,一按就扫完整个文档。而 Ctrl+D 是可控逐个添加,支持查找面板里的正则匹配,更适合精准筛选。
- 想只改前 3 处?必须用
Ctrl+D连按三次;Alt+F3后狂按Esc会残留光标,导致粘贴错位 - 误触
Alt+F3?比连按Esc更稳的是先按Ctrl+U回退光标状态,再Esc彻底清场 -
Ctrl+K, Ctrl+D是跳过当前匹配,但它不可被Ctrl+U撤销——漏选了只能从下一个重新加 -
Ctrl+Shift+L不是“选中多行”,是“在每行末尾各加一个光标”;想批量缩进,用Ctrl+],别用Tab(只影响第一行)
Ctrl+U 和 Esc 的分工边界,决定了你能否在失控前安全落地。











