ctrl+shift+k(win/linux)或cmd+shift+k(macos)是直接删除整行及换行符的快捷键;常见失效原因包括中文输入法劫持、插件冲突、文件只读、远程工具拦截;批量删行需先选中再操作;删特定行需用正则替换;换行符不统一会影响删行准确性。

Ctrl+Shift+K(Windows/Linux)或 Cmd+Shift+K(macOS)就是删整行的正确快捷键,不是剪切、不是清空、不是删光标右侧——它直接移除当前行及其换行符,上下文自动缝合。
Ctrl+Shift+K 没反应?先查这四类劫持
它不是失效,大概率是被截胡了:
- 中文输入法(尤其是搜狗、微软拼音)常把
Ctrl+Shift+K当中英文切换热键,切到英文输入状态再试 - 插件冲突:打开
Preferences → Key Bindings,搜索ctrl+shift+k,看用户键绑定里是否覆盖了原生命令 - 文件设为只读:右下角状态栏若显示
Read Only,所有编辑快捷键都会静默失败 - 远程工具拦截:MobaXterm、某些 RDP 客户端会吃掉该组合键,需在客户端设置中放行
批量删多行不能连按 Ctrl+Shift+K
连按两次只会删同一行——因为第一次删完,光标自动落到下一行开头,第二次又作用于那个“新当前行”。真要批量删:
- 连续多行:用
Shift+↓或鼠标拖选文本区域,再按Delete或Backspace - 不连续多行:按住
Ctrl(Win/Linux)或Cmd(macOS),点击多行行号左侧空白处(出现虚线框即整行选中),再统一按Ctrl+Shift+K - 先选再拆:
Ctrl+L选中当前行 →Ctrl+Shift+L拆成多光标 → 按Delete
删空行/注释行/日志行必须用正则替换
手动或快捷键效率极低,得进 Ctrl+H 替换面板,勾选 Regular Expression:
- 删所有空行:
^\s*$\n(结尾\n很关键,否则最后一行空行可能残留) - 删 JS 注释行:
^//.*$\n(.不需额外转义,Sublime 正则引擎认这个) - 删含
console.log的行:^.*console\.log.*$\n(点号必须转义) - 操作前务必点
Find All确认命中行数,避免误删
真正容易被忽略的是换行符混用问题
Ctrl+Shift+K 总是连内容带换行符一起删,但若文件里同时存在 \n 和 \r\n,会导致 Ctrl+L 选行错位,进而让删行行为偏移。这不是 bug,是底层逻辑依赖一致的行尾格式。统一前请先执行 Ctrl+Shift+P → Convert Line Endings: Unix(即 LF),再操作更稳。











