Sublime Text多光标需禁用drag_text并理解叠加逻辑:Ctrl+Click失效因drag_text默认开启;Ctrl+D匹配字面完全一致词,需双击选中且注意大小写;Ctrl+Shift+L依赖换行符;列选择需等宽字体及正确组合键。

Sublime Text 多光标不是装完就能用的功能,它不依赖插件、无需开关,但默认配置下极易失效——关键在于禁用 drag_text 和理解光标叠加逻辑。
Ctrl+Click 不生效?先关掉 drag_text
Windows/Linux 上按住 Ctrl 点击多个位置却只拖动文本、没加光标,macOS 同样卡在 Cmd+Click 拖拽,根本原因是 Sublime 默认开启 drag_text(或 drag_select)。
- 打开
Preferences → Settings,确保用户设置里有:{"drag_text": false} - 如果已有
"drag_select": true,也一并设为false - 改完不用重启,立即生效;但若已在拖拽状态,需按
Esc退出再试
Ctrl+D 总跳过目标词?双击选中 + 关大小写敏感
Ctrl+D 不是搜索,而是“从当前选区出发,找下一个字面完全一致的片段”。光标停在 user_id 上连按,不会匹配 USER_ID 或 user_id_list,这是设计使然,不是 bug。
- 务必先双击选中完整目标(比如
userName,而不是只点中name) - 若注释或字符串里有干扰项,按
Ctrl+K再按Ctrl+D跳过当前高亮 - 临时关闭大小写敏感:在查找面板右下角点
Aa图标,或按Alt+C - 想全量选中所有匹配?直接用
Alt+F3(Win/Linux)或Ctrl+Cmd+G(macOS)
Ctrl+Shift+L 只出一个光标?你没选中换行符
这个快捷键不是“识别多行”,而是把当前选区按 \n 切片,每切一刀放一个光标。漏掉换行符,就等于只有一刀。
- 鼠标拖选时,最后一行末尾必须覆盖到换行符(视觉上可能看不出,但实际要选中)
- 安全做法:先用
Ctrl+L(Win/Linux)或Cmd+L(macOS)逐行选中目标行,再按Ctrl+Shift+L - 光标默认落在每行末尾,想加前缀(如
//)?按Home把所有光标拉到行首再输 - 缩进不齐导致光标歪斜?那是字符位置对齐,不是逻辑列对齐;别指望它自动对齐,要用列选择(
Alt+Shift+拖拽)补位
列选择错位或拖不动?等宽字体 + 正确触发组合
列选择(竖向编辑)和多光标互斥,且对环境敏感。按 Alt 拖不动、光标偏移、某行光标卡在行尾——大概率是字体或触发方式错了。
- 必须用等宽字体(如
Consolas、Fira Code),系统 UI 字体(如苹方、Segoe UI)必然错位 - 正确触发:Windows/Linux 是
Alt+Shift+鼠标左键拖拽,macOS 是Option+Shift+鼠标左键拖拽,单独按Alt无效 - 拖动时某行太短,光标停在该行尾是正常行为,不是异常
- 列选择状态下,
Ctrl+D、Ctrl+U、方向键全部失效;必须先按Esc退出,才能切回多光标模式
最常被忽略的点:多光标是“实时叠加”,不是“模式切换”。任何一个误触(Esc、方向键、Ctrl+X)都会清空额外光标;而 Enter 在多光标下会在每个位置插入新行——不是换一行,是炸开所有行。


















