Ctrl+Shift+L 是按换行符切片而非启用多重光标,若只加一个光标,说明选区不含换行符;应先用 Ctrl+L/Cmd+L 逐行选中,再执行该快捷键。

Ctrl+Shift+L 为什么只加了一个光标?
它不是“启用多重光标”的开关,而是「按换行符切片」:你选中什么,它就在哪里切。没反应或只出一个光标,大概率是选区里根本没包含换行符(\n)——比如鼠标拖选时漏掉了最后一行末尾的回车,或者光标压根没选中任何文本。
安全做法:Ctrl+L(Windows/Linux)或 Cmd+L(macOS)逐行点击目标行,确保每行都被明确选中;再统一按 Ctrl+Shift+L,这时每行开头都会生成独立光标。
- 光标默认落在你选区的末尾位置,不是行首——如果想统一加前缀(如
//),拆完立刻按Home或Ctrl+Home(Win)/Cmd+Home(Mac)跳到真·行首 - 若光标卡在缩进空格上,说明你选区包含了开头的空格或制表符,下次选前先按
Home清掉缩进再拖选 - 别用
Ctrl+A后直接输引号——那只是视觉高亮,Sublime只允许主光标执行插入,其余行完全无响应
Ctrl+Click 加不了光标?drag_text 在拦路
Ctrl+Click(Win/Linux)或 Cmd+Click(macOS)点不加光标,基本可以断定是 drag_text 没关。它默认为 true,导致编辑器优先拖动文本,而不是添加光标。
必须手动关掉:打开 Preferences → Settings,在右侧用户设置里加一行:"drag_text": false,保存后重启 Sublime Text(部分版本不重启不生效)。
- 点击位置也很关键:避开单词中间、已有选区边缘、空行缩进处;优先点行首空白、行尾换行符前、或纯空格段
- 远程桌面或某些键盘布局下,
Alt+Tab可能劫持Alt+Shift+拖动,此时可用Ctrl+Shift+P调出命令面板,输入Column Selection手动开启列编辑
Ctrl+D 匹配总跳过目标变量?匹配逻辑太严格
Ctrl+D 不是模糊搜词,而是从当前选中内容出发,找下一个「字面完全一致」的片段。双击选中 user_id 后连按 Ctrl+D,会跳过 user_id_list 和 USER_ID——前者多了 _list,后者大小写不符。
关键动作是「精准双击」:确认高亮区域干净,不含前后空格、引号、句点;若仍跳过,检查查找面板是否启用了 Aa(大小写敏感),可用 Ctrl+Alt+R 切换。
- 想跳过某处(比如字符串里的同名内容):先按
Ctrl+K,松手再按Ctrl+D - 误按太多光标?按
Ctrl+U可逐次撤销最近添加的光标,不用全删重来 - 一次性全选所有匹配项用
Alt+F3(Win/Linux)或Ctrl+Cmd+G(macOS),但注意上限约 10000 处,超量静默丢弃
列选择(竖向编辑)按 Alt 拖不动?触发条件没满足
这不是快捷键失效,而是触发条件没达成:Sublime 的列选择必须是 Alt+Shift(Win/Linux)或 Option+Shift(macOS)+ 鼠标拖动,单独按 Alt 无效;而且它和多光标互斥——列选择状态下无法用 Ctrl+D,必须先点空白处或按 Esc 退出。
列选择对字体宽度极度敏感,必须使用等宽字体(如 Consolas、Source Code Pro),否则拖出来的矩形会错位。
- 系统快捷键冲突(如 Windows 的
Alt+Tab)时,改用命令面板:Ctrl+Shift+P→ 输入Column Selection手动开启 - 想统一修改对齐参数或删掉某几列字符,列选择比多光标更稳;但想在非对齐位置批量改内容,就得切回多光标模式
- 列选择生成的是矩形选区,不是多光标——它不能配合
Ctrl+D或Find All使用
drag_text 关没关、当前模式是不是你想要的(多光标 vs 列选择)。


















