ctrl+l、ctrl+shift+l、ctrl+shift+k 覆盖90%行级操作:ctrl+l选整行(含换行符,行为依赖光标位置);ctrl+shift+l按换行符拆选区生成多光标;ctrl+shift+k删整行,多光标需先全选再执行。

Ctrl+L、Ctrl+Shift+L、Ctrl+Shift+K 这三个快捷键覆盖了 90% 的行级操作需求,但用错顺序或选区状态,结果就全错。
Ctrl+L:选中整行,但“整行”包含换行符
按一次 Ctrl+L 选中光标所在行(含末尾的 \n),再按一次选下一行——这个行为依赖当前光标是否在行首/行中/行尾,但不依赖视觉是否“看到完整行”。
- 光标停在
console.log("hello");中间任意位置,Ctrl+L仍会选中整行 + 换行符 - 若光标在最后一行且文件末尾无
\n,Ctrl+L只选中内容,不带换行符 → 后续Ctrl+Shift+L会失效 - 想连续选 5 行?连按 5 次
Ctrl+L比鼠标拖更稳,尤其处理折叠代码块时
Ctrl+Shift+L:不是“加光标”,是“按换行符拆选区”
Ctrl+Shift+L 不关心你“想选几行”,只看当前选区里有没有 \n。有,就每行末尾放一个光标;没有,就只在选区起点放一个光标。
- 错误做法:鼠标拖选 3 行,但松手时没覆盖第 3 行末尾的
\n→ 实际选区只有 2 个\n,Ctrl+Shift+L只生成 2 个光标 - 正确做法:先
Ctrl+L选第 1 行 →Shift+↓扩展到目标行 → 再按Ctrl+Shift+L - 生成光标后,
End移至每行末尾,Home移至每行开头;Tab只影响第一行,要用Ctrl+]才能批量缩进
Ctrl+Shift+K:删整行,但会破坏光标链
Ctrl+Shift+K 删除当前行(含 \n)后,光标自动落到上一行末尾。如果之前有多个光标,它只会删第一个光标所在行,其余光标立即消失。
- 想批量删多行?必须先
Ctrl+L选中所有目标行 → 再按Ctrl+Shift+K(此时它会删全部选中的行) - 误删了?
Ctrl+U软撤销比Ctrl+Z更可靠,能恢复光标位置而非仅文本 - 删完空行残留?关掉
"trim_trailing_white_space_on_save": true配置项,避免保存时自动清理干扰判断
真正卡住人的从来不是记不住快捷键,而是选区是否含 \n、光标是否被意外移动、以及删行时多光标是否还存在——这些细节不显眼,但决定操作是秒完成还是重来三遍。











