Sublime多光标是实时叠加而非开启功能,按Esc等键会立即清除额外光标;Ctrl+Shift+L仅根据选区是否含换行符决定生成光标数,需确保选中完整行(含\n)或用Ctrl+L逐行选中后再执行。

Sublime 的多光标不是“开启一个功能”,而是靠快捷键实时叠加光标位置——按错一个键(比如 Esc、方向键、Ctrl+X),所有额外光标立刻消失,只剩主光标。
Ctrl+Shift+L 为什么只生成一个光标?
它不识别“你心里想选几行”,只处理你**实际选中的文本里是否包含换行符(\n)**。选区不含换行符,它就当单行处理。
- 鼠标拖选时最后一行末尾没覆盖到
\n(视觉上像选中了,其实漏了),就会只出一个光标 - 空行也会被拆出光标,但光标落在行首;如果想补内容到行尾,得先按
End - 安全做法:先用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行点击选中目标行,再统一按Ctrl+Shift+L,100% 按行生效 - 如果光标落在缩进空格上,说明你选区包含了开头的空格或制表符——后续输入会直接覆盖缩进
Ctrl+D 改变量名总跳过目标项?
Ctrl+D 默认开启 match_whole_word: true,且严格从当前选中词出发向下扫描,不是全局模糊搜。
- 双击选中完整变量名(如
user_id)后再按Ctrl+D,比把光标停在中间再按更可靠 - 它会跳过
user_id_list(多了_list)和USER_ID(大小写不符) - 注释里有同名字符串干扰?按
Ctrl+K再按Ctrl+D可跳过当前匹配项 - 想确认是否全字匹配,先在查找框里搜
\buser_id\b验证
列对齐编辑(竖向修改)光标错位或不响应?
列选择不是多光标,而是矩形选区,对字体和行长度极其敏感,且与多光标互斥。
- 必须按住
Alt+Shift(Windows/Linux)或Option+Shift(macOS)再拖动鼠标,只按Alt或只按Shift无效 - 某行太短?光标停在该行末尾是正常行为,不是 bug
- 视觉偏移大概率是用了非等宽字体(如系统默认 UI 字体),换成
Consolas或Fira Code立刻稳定 - 列选择状态下不能用
Ctrl+D;想切回多光标,必须先按Esc退出列选
鼠标点击加光标没反应,或点了却拖动了文本?
这是 Sublime 默认开启 drag_text 导致的:编辑器优先响应“拖动文本”,而非“添加光标”。
- 必须手动关闭:打开
Preferences → Settings,在用户设置里加一行:"drag_text": false - 另外,
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)自由加光标,适合非规律行,但前提是drag_text已关 - 误操作太多?按
Esc一键清空所有额外光标;按Ctrl+U可逐次撤销最近添加的光标
最常被忽略的是:多光标本身不智能,它只是“在多个位置同时执行键盘输入”。回车(Enter)会在每个光标处插入新行,退格会同步删除,粘贴会同步覆盖——光标位置一旦错位,结果立竿见影。所以每次按 Ctrl+Shift+L 或 Ctrl+D 前,务必确认选区干净、范围可控。










