Sublime多光标是快捷键实时叠加而非模式,易因误按丢失;Ctrl+D受大小写和单词边界限制;Ctrl+Shift+L按换行切片,需选中\n;drag_text开启时Ctrl点击无效;多光标无作用域感知,操作前须用正则预览。

Sublime 的多光标不是“开启一个模式”,而是靠快捷键实时叠加光标——按错一个键(比如 Esc、方向键、Ctrl+X)就全丢。真正卡住人的,从来不是记不住组合键,而是光标加错了、留不住、或者输着输着发现改了不该改的地方。
Ctrl+D 匹配不到目标变量?先看选区和大小写
Ctrl+D 默认只匹配「当前选区的完整文本」,且受单词边界(\b)、空格、下划线和大小写影响。双击选中 user_id 后连按 Ctrl+D,它不会命中 user_id_list 或 USER_ID,这是设计,不是 bug。
- 想严格按字面匹配(含下划线、大小写),先在查找面板勾选
Aa(大小写敏感),再用Ctrl+F→ 输入词 →Alt+Enter全选 - 想跳过某处(比如注释里的
user_id),别松手,直接按Ctrl+K再按Ctrl+D,当前高亮消失,光标保留在原位 - 误按太多?跨文件或变量短(如
data、list)时,必须用正则:\buser_id\b,然后Ctrl+H→ 勾选.*→Find All预览所有匹配项,确认无误再操作
Ctrl+Shift+L 只生成一个光标?检查选区是否含换行符
Ctrl+Shift+L 的作用只是把当前选区按换行符切片,每行末尾放一个光标。它不看缩进、不管对齐,所谓“错位”,其实是你误把它当成了对齐工具。
- 常见翻车:拖选了 5 行但没覆盖到最后一行的换行符(即没选中
\n),Sublime 就当它是单行,只放一个光标 - 安全做法:先用
Ctrl+L连续选中多行(每按一次选一行),再按Ctrl+Shift+L - 想让所有光标统一出现在行首?先按
Home把主光标移到第一行开头,再按Ctrl+Shift+L
鼠标点不加光标?drag_text 在捣鬼
按住 Ctrl(Win/Linux)或 Cmd(Mac)点击没反应,甚至拖动了文本——这不是手速问题,是 Sublime 默认开启了 drag_text,系统优先执行拖动而非加光标。
- 必须手动关掉:打开
Preferences → Settings,在用户设置里加一行:"drag_text": false - 点击位置很关键:避免点在已有选区边缘、单词中间或空行缩进处;优先点行首、行尾或纯空格位置
- 远程桌面或某些键盘布局下,
Alt+Tab等系统热键可能拦截Alt+拖动,可改用命令面板:Ctrl+Shift+P→ 输入Column Selection手动开启
多光标下回车、退格、Tab 行为反直觉?它不判断上下文
多光标本身不智能,它只是「在多个位置同步执行键盘输入」。粘贴、Enter、Backspace、Tab 全部同步发生——一旦光标位置不对,后果立竿见影。
-
Enter在多光标下会在每个光标处插入新行,不是只在最后一行回车 - 改变量名前,先确认
Ctrl+D没选中字符串字面量(比如"user_id"里的user_id),可在查找框里搜\buser_id\b验证是否全匹配 - 光标太多收不住?按
Esc一键清空所有额外光标,只剩主光标;或者按Ctrl+U(Win)/Cmd+U(Mac)逐次撤销最近添加的光标
最常被忽略的是:多光标没有“作用域感知”,它不会区分变量名和字符串字面量,也不会跳过注释或 JSON 值。每次批量操作前,务必用 Ctrl+F + 正则预览匹配范围,而不是靠感觉按下去。

















