必须关闭drag_text才能启用Ctrl+Click加光标,因其默认开启会将点击识别为拖动文本;Ctrl+Shift+L需选区含换行符才生成多光标;Ctrl+D仅字面全匹配;列选择须用等宽字体。

Ctrl+Click没反应?先关掉 drag_text
Sublime Text 默认开启 drag_text,这会让 Windows/Linux 的 Ctrl+Click 或 macOS 的 Cmd+Click 触发文本拖动,而不是添加光标。这不是快捷键冲突,而是设置覆盖了行为。
打开 Preferences → Settings,在右侧用户设置中加入:
"drag_text": false
保存后建议重启 Sublime Text,部分版本不重启不生效。验证方式:按住 Ctrl(或 Cmd)轻点行首空格,应出现新光标而非拖动整行。
Ctrl+Shift+L 拆不出多光标?检查选区是否含换行符
Ctrl+Shift+L 不是“按行数拆”,而是“按选区内的 \n 字符切片”——每个换行符前放一个光标。它完全不识别“视觉上的多行”,只认实际的换行符。
- 鼠标拖选 5 行时松手没覆盖最后一行末尾的
\n→ 实际只生成 4 个光标 - 选区开头含缩进空格 → 所有光标落在空格位置,一输内容就覆盖缩进
- 安全做法:先用
Ctrl+L(Windows/Linux)逐行选中目标行,再按Ctrl+Shift+L - 想统一加前缀(如
//),按Home把所有光标拉到行首后再输入
Ctrl+D 总跳过目标词?它只做字面全匹配
Ctrl+D 不是“搜变量名”,而是“从当前选区出发,找下一个完全相同的字符串片段”,包括大小写、下划线、边界空格,甚至注释里的引号内内容。
- 双击选中
user_id后连按Ctrl+D,不会命中user_id_list或USER_ID - 想跳过某处(比如
// user_id),按Ctrl+K再按Ctrl+D - 一次性全选所有匹配项,用
Alt+F3(Windows/Linux)或Ctrl+Cmd+G(macOS),但上限约 10000 处,超量静默丢弃 - 未选中任何内容时按
Ctrl+D,Sublime 会自动双击取光标所在单词——若光标停在符号或空行上,可能取错词
列选择(竖向编辑)错位?等宽字体是硬门槛
列选择不是多光标模式,而是独立的矩形选区,靠 Alt+Shift+鼠标拖动(Windows/Linux)或 Option+Shift+鼠标拖动(macOS)触发,但它对字体敏感。
- 用系统默认字体(如 Segoe UI)拖拽,中英文/符号宽度不一致 → 光标视觉偏移
- 换成
Consolas、Fira Code或JetBrains Mono立刻稳定 - 列选状态下无法使用
Ctrl+D、Ctrl+U或方向键;必须按Esc退出才能切回多光标 - 某行对应列为空格或制表符时,光标会自动落到该行行尾——这是正常行为,不是 bug
真正容易被忽略的是:Enter 和 Backspace 在多光标下是机械同步执行的——不管上下文是否合理,每个光标都会插入换行或删除前一个字符。一旦光标位置没对齐,结果往往比单行编辑还难收拾。


















