方向键一按就只剩一个光标,是因为sublime多光标是临时叠加而非稳定模式,任意方向键、backspace、tab等操作均会触发自动合并或静默丢弃;esc是唯一能立即清空辅助光标、仅留主光标且不触撤销栈的操作。

为什么方向键一按就只剩一个光标
Sublime 的多光标不是稳定模式,而是“临时叠加”——任意方向键(←↑→↓)、Backspace、Tab、Alt+Tab 切出再切回、甚至鼠标滚轮滚动,都可能触发自动合并或静默丢弃。表面看光标还在,实际只剩主光标卡在某处,其余已坍缩。
最典型现象是:按了 ↑ 后以为光标还在多行,结果再输内容只出现在一行;粘贴时内容错位、漏行,本质都是光标早已失效。
- 别依赖“看起来还在”,只要做过移动、输入、切换等动作,就该默认光标已不可信
-
Esc是唯一能立刻清空所有辅助光标、只留主光标且不触发撤销的操作 - 鼠标单击不可靠:点偏可能展开折叠、选中行号、甚至触发拖拽(尤其
drag_text没关时)
Ctrl+U 和 Esc 到底什么时候用
Ctrl+U 撤的是光标添加动作,不是编辑内容。你按了 7 次 Ctrl+D 选中变量,第 5 处是误匹配,Ctrl+U 按一次就退回到 6 个光标,再按一次回到 5 个——它严格按光标添加的时间顺序倒退,和位置无关。
Esc 是硬重置:不管当前有多少光标、加了多久、有没有输过字,一按就全清,只留最后操作的那个主光标。
-
Ctrl+U不影响你已经输入的字符、替换过的内容,也不进撤销栈,Ctrl+Z步数完全不受干扰 - 如果
Ctrl+U按了没反应,先检查用户设置里是否还开着"drag_text": true—— 关掉它,"drag_text": false,否则光标链路会被拦截 - 混用了
Alt+鼠标拖动列选和Ctrl+D?Ctrl+U仍能按序倒退,但节奏太密(比如连按 5 次Ctrl+D)容易退错步,建议每次添加后稍作停顿
怎么让 Ctrl+Click 真正加光标而不是拖文本
默认情况下,Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)会优先尝试拖动文本而非添加光标,这是 drag_text 设置为 true 导致的。
必须手动关掉:打开 Preferences → Settings,在用户设置里加一行:"drag_text": false。
- 点错位置?优先点行首、行尾或空格处,避免点在已有选区边缘或单词中间,容易触发双击选词或列选择
- 点了没反应?检查是否被其他鼠标增强工具劫持了事件,或
ignored_packages里禁用了默认插件 - Mac 用户注意:
Cmd+Shift+L在某些输入法下会被系统劫持,可临时切英文输入法再试
Ctrl+Shift+L 为什么有时只出一个光标
Ctrl+Shift+L 的作用是「把当前选区按换行符切片,每片末尾加一个光标」,它完全不关心缩进、对齐或空格位置,只认 \n 或 \r\n。
常见翻车:拖选了 5 行但没覆盖到最后一行的换行符(即没选中 \n),Sublime 就当它是单行,只放一个光标。
- 安全做法:先用
Ctrl+L连续选中多行(每按一次选一行),再按Ctrl+Shift+L,100% 按行生效 - 想让所有光标统一出现在行首?先按
Home把主光标移到第一行开头,再按Ctrl+Shift+L - 如果某行结尾有空格或制表符,光标会落在空格后,容易误删;建议先用
Ctrl+Shift+P → Trim Trailing White Space清理
Esc 是最稳的落地操作,比点击更可靠,也比反复按 Ctrl+U 更直接。











