ctrl+shift+k删除光标所在整行,非行尾;多光标下每光标独立触发;shift+alt+↑/↓可扩展选区批量删;ctrl+shift+l用于不连续行添加光标后删除;删前按ctrl+x可保内容入剪贴板。

Ctrl+Shift+K 删除当前行,但光标位置有讲究
VSCode 默认用 Ctrl+Shift+K 删除光标所在行——注意:它删的是「光标所在的那一整行」,不是「光标所在位置到行尾」。如果光标在行中(比如第5个字符),整行照样被删;如果光标在空行,这行也删。很多人误以为要先选中整行再按,其实完全不用。
容易踩的坑:
- 光标停在下一行开头时,
Ctrl+Shift+K会删掉「上一行」,而不是当前空行——因为光标实际属于上一行的换行符之后,逻辑上仍归属上一行 - 多光标模式下,每个光标都会独立触发删除,可能意外删掉多行,建议确认好光标分布再操作
- 该快捷键不进撤销栈的「合并编辑」组,连续删多行后 Ctrl+Z 会逐行恢复,不是一次性回退
Shift+Alt+↑/↓ 快速选中并删除多行
想删连续几行?别一行行按 Ctrl+Shift+K。先把光标放到首行,按住 Shift+Alt+↓ 向下扩展选区(每按一次加选一行),松手后直接按 Delete 或 Backspace 即可批量删。向上选同理用 Shift+Alt+↑。
这个组合的本质是「列选择 + 行扩展」,所以:
- 即使某行特别长,选区也会严格按行边界对齐,不会切到中间断开
- 如果已有文字选中,
Shift+Alt+↑/↓会把选区往上下行延伸,而不是重置为纯行选中 - Mac 用户对应的是
Shift+Option+↑/↓,不是 Cmd
Ctrl+Shift+L 配合 Delete 实现精准多行删除
要删不连续的多行(比如第2、7、15行)?先用鼠标或键盘跳转到目标行首,按 Ctrl+Shift+L 把当前行转成一个光标(此时光标在行首),再按 Ctrl+G 输入行号快速跳转,重复添加光标。等所有目标行都有光标后,按 Delete 一次性全删。
这个流程的关键点:
-
Ctrl+Shift+L不是“选中当前行”,而是“在当前行首插入一个新光标”——所以它和多光标编辑天然契合 - 如果某行已有选中文本,
Ctrl+Shift+L会先取消选中,再插光标,避免干扰 - 光标插完别急着删,先看右下角状态栏显示的「x cursors」数量是否正确,错一个就得重来
删完发现删多了?别只靠 Ctrl+Z
VSCode 的撤销行为受 editor.undoDelay 控制,默认 300ms 内连续输入算一次操作。但 Ctrl+Shift+K 这类命令默认不合并,删10行就得按10次 Ctrl+Z。更稳的方式是打开命令面板(Ctrl+Shift+P),输入「Open Timeline」,找到刚删代码前的时间点,点击恢复——它基于文件系统快照,比撤销栈更可靠。
真正容易被忽略的是:VSCode 不会自动备份已删内容到剪贴板。除非你删之前手动 Ctrl+X 剪切,否则删掉的行无法粘贴回来。习惯性删前按一下 Ctrl+X,哪怕没选中内容,也能把整行送进剪贴板——这是最轻量的防误删动作。











