ctrl+shift+l仅按换行符切光标,无\n则无效;单行选区或未选中换行符时只出一个光标;需先用ctrl+l选行再扩展确保含\n;home键不跳物理行首,应配合move to beginning of line命令。

Ctrl+Shift+L 不是“开启多行编辑模式”,而是把已有选区按换行符切出光标——没选中含 \n 的文本,它就什么也不做。
为什么 Ctrl+Shift+L 按了只出一个光标?
这个操作完全不识别“你心里想选几行”,只看选区里有没有真实换行符(\n 或 \r\n)。
- 鼠标拖选时最后一行末尾没覆盖到换行符 → 选区实际是单行,
Ctrl+Shift+L只生成 1 个光标 - 只点了一下光标、没形成任何选区 →
Ctrl+Shift+L静默跳过,无反应 - 用
Ctrl+L选中一行后,再按Ctrl+Shift+↑/↓扩展选区 → 这样能确保每行都带\n,再按Ctrl+Shift+L就稳了 - 空行也会被拆出光标,且光标落在行首;若目标是行尾追加,得额外按
End再输内容
在每行开头统一加前缀,为什么 Home 键不管用?
Home 默认跳到“第一个非空白字符”,不是物理行首。缩进存在时,光标会停在缩进后,导致 console.log( 插进缩进中间。
- 稳妥做法:选中后
Ctrl+Shift+L→Ctrl+Shift+P输入Move to Beginning of Line(内置命令,无需插件) - 或手动按
←直到光标贴着行首(尤其适合缩进不一致的代码) - 如果已开启
soft_wrap(软换行),Home行为可能异常,建议临时关闭View → Word Wrap
列选择(Alt+Shift+拖拽)什么时候能用、什么时候不能用?
列选择是纯坐标定位,不理解缩进、Tab 含义,只认屏幕位置。对齐稍有偏差,光标就错位。
- 适用场景:CSV 表头、日志时间戳列、Markdown 列表符号(
-)补全 —— 前提是所有目标行开头严格视觉对齐 - 风险点:混用 Tab 和空格时,Tab 宽度不一致会导致竖向偏移;可开
View → Draw White Space查看空白符再拖 - 缩进不齐的代码块里强行列选,可能把字符插进缩进中间而非真正行首 —— 此时该用
Ctrl+Shift+L+Move to Beginning of Line - 列选无法跨软换行,操作前务必确认
Word Wrap已关闭
Ctrl+Click 加不了光标?先查这三件事
最常见原因是配置项 drag_text 被设为 true,让 Ctrl+Click 优先触发拖动而非加光标。
- 打开
Preferences → Settings,在用户设置里显式写入:"drag_text": false - 点击时要松开
Ctrl再点,按住不放容易拖出选区 - 中文输入法可能劫持快捷键,切到英文输入法再试
- 如果开了
soft_wrap,逻辑列被折行,Ctrl+Click容易点偏;外接鼠标比触摸板更准
真正卡住人的从来不是快捷键本身,而是选区是否含 \n、光标是否落在物理行首、以及 drag_text 这种藏在设置里的开关 —— 这些细节不确认清楚,再多练习也白搭。











