Ctrl+Shift+L拆光标前必须确保选区含换行符,它按\n或\r\n切片并在其前放光标;无换行符则静默不响应,常见失败是拖选未覆盖末尾换行符或未选中任何文本,安全做法是先用Ctrl+L逐行选中再执行该快捷键。

Ctrl+Shift+L 拆光标前必须确保选区含换行符
这个操作不是“给当前行加光标”,而是把已有选区按 \n 或 \r\n 切片——每遇到一个换行符,就在其前位置放一个光标。选区里没换行符,它就静默不响应。
常见失败点:
- 鼠标拖选时最后一行末尾没覆盖到换行符(视觉上像选中了,实际漏掉了
\n) - 只点了一下光标、没做任何选中,
Ctrl+Shift+L直接跳过 - 选区开头带缩进空格或制表符,光标落在空格后,一输内容就破坏对齐
安全做法:先用 Ctrl+L(Windows/Linux)或 Cmd+L(macOS)逐行选中目标行(每按一次加一行,含换行符),再按 Ctrl+Shift+L,100% 拆成独立光标。
Ctrl+D 匹配跨行词要关 match_whole_word 且注意光标位置
Ctrl+D 默认只匹配完整单词、区分大小写、不跨行,且第一次按会自动双击取词——光标停在 user_name 中间,可能只取到 _name,后续全错。
想让它跨行命中更多目标:
- 手动双击选中你要匹配的子串(比如
user),再按Ctrl+D,它就按选区内容而非词边界匹配 - 在设置里关掉
"match_whole_word": false,这样username_input里也能命中user - 遇到不想改的地方(如字符串里的
"user_id"),按Ctrl+K再按Ctrl+D跳过
注意:Ctrl+D 不过滤上下文,注释、字符串、正则字面量里只要文本一致,它都照选。
Alt+拖拽列选择不适合跨行内容不齐的场景
列选择(Alt+拖拽)本质是矩形框选,依赖等宽字体和各行对应列有可编辑字符。一旦某行该列是空格、制表符或空行,光标就会被拉到行尾,导致错位。
典型失效情况:
- 缩进不一致(比如混用空格和 Tab),列对齐肉眼看着准,松手后光标歪斜
- 中间夹着空行,列选择直接断掉,后续行无光标
- 软换行(
Word Wrap)开启时,逻辑列被折行,点击坐标偏移
替代方案:用 Ctrl+Shift+P 运行 Align Indent 统一缩进,或先 Trim Trailing White Space 清理空格,再列选;更稳的做法是用 Ctrl+L + Ctrl+Shift+L 拆光标,再统一按 Home 对齐行首。
Ctrl+Click 加光标总失灵?先关 drag_text
默认 "drag_text": true 会让 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)优先触发文本拖动,而不是加光标——这是最常被忽略的配置项。
必须手动关掉:
- 打开
Preferences → Settings - 在用户设置里加一行:
"drag_text": false - 同时确认
View → Word Wrap已关闭,避免折行干扰点击精度
点完没反应?检查是否点了单词中间(易触发双击)、是否还在列选择模式(没按 Esc 退出)、Mac 上是否被三指触控板手势打断。
真正容易被忽略的是:多光标没有“撤销添加”这回事,Ctrl+U 只能撤销最近一次光标添加,但无法回退到某个中间状态;一旦光标太多或错位,最快的办法是按 Esc 清空全部重来——别试图靠方向键微调,那只会删掉非主光标。











