Ctrl+Shift+L(macOS为Cmd+Shift+L)统一将选区按\n切片并每行末尾添加光标,前提必须选中含换行符的跨行内容;列编辑需关闭Mission Control冲突或改用Cmd+鼠标拖拽;drag_text默认true会导致Ctrl/Cmd+Click失效,需手动设为false。

Windows/Linux 和 macOS 的 Ctrl+Shift+L 行拆光标行为一致,但触发前提完全相同
这个快捷键在所有系统上都做同一件事:把当前选区按 \n 切片,每片末尾加一个光标。它不区分操作系统,只认你有没有选中换行符。
常见错误是以为“按了就出多光标”,结果只生成一个——本质是你没选中跨行内容。比如鼠标拖选 3 行,但最后一行末尾没覆盖到 \n(肉眼几乎看不见),Sublime 就当它是单行处理。
- 安全做法:先用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行点击选中目标行,再统一按Ctrl+Shift+L或Cmd+Shift+L - 如果选区含空行或纯空白行,光标会落在行尾,输入时可能被缩进干扰(比如输
//前要先按Home) - 别依赖鼠标拖选范围——开启
"draw_white_space": "all"让空格和 Tab 可见,能提前发现对齐偏差
列选择快捷键在 macOS 上默认被系统劫持,必须手动关闭 Mission Control
Cmd+Option+↑/↓ 是 Sublime 官方定义的列编辑入口,但在绝大多数 macOS 版本中,它和 Mission Control 冲突,按下毫无反应。
这不是 Sublime 设置问题,而是系统级抢占。不关掉就永远进不了列模式。
- 解决方案:系统设置 → 键盘 → 快捷键 → Mission Control → 取消勾选
Cmd+Option+↑和Cmd+Option+↓ - 更稳的替代方案:按住
Cmd+ 鼠标左键拖拽,直接拉出矩形选区(无需改系统设置) - 远程桌面或某些终端里
Alt+Shift+拖动(Windows/Linux)也会失效,此时用命令面板:Ctrl+Shift+P→ 输入Column Selection手动激活
Ctrl+Click / Cmd+Click 失效?drag_text 是元凶,不是快捷键没绑定
很多人试了几十次 Ctrl+Click 没反应,第一反应是“快捷键坏了”或“插件冲突”,其实 90% 是因为 drag_text 默认为 true,导致点击优先触发文本拖动而非加光标。
这个设置藏在用户配置里,不显式关闭就不会生效。
- 打开
Preferences → Settings,在右侧用户设置面板中添加一行:"drag_text": false - 点击位置很关键:避开单词中间、符号边界、已有选区边缘;优先点行首、行尾或连续空格处
- 按住
Ctrl/Cmd不松手再点,容易误拖出选区;正确操作是松开修饰键后再单击
多行移动快捷键命名相似但实际组合完全不同,输错一个键就无效
移动整行代码的快捷键表面看都是“Ctrl/Cmd + Shift + 方向键”,但 macOS 实际用的是 Ctrl+Cmd+↑/↓,不是 Cmd+Shift+↑/↓ —— 后者在多数系统里已被分配给显示器切换或 Mission Control。
Windows/Linux 用 Ctrl+Shift+↑/↓ 是安全的,但中文输入法下常被搜狗、微软拼音吞掉。
- Windows/Linux:确认使用英文输入法;若仍无效,检查是否启用了
ignored_packages禁用了 Default 插件包 - macOS:必须用
Ctrl+Cmd+↑/↓,Cmd+Shift+↑/↓是错的,Ctrl+Option+↑/↓也是错的 - 光标停在哪一行,哪一行就动——哪怕只停在某个字符上,也按整行处理;多行选中后一起移动,不需要额外操作


















