ctrl+shift+k(win/linux)或cmd+shift+k(macos)是sublime中删除整行的快捷键,光标所在行连同换行符被物理移除;失效常见原因包括输入法占用、插件冲突、只读文件、远程终端拦截或多行误操作。

Ctrl+Shift+K(Windows/Linux)或 Cmd+Shift+K(macOS)就是删整行的正确快捷键,不是剪切、不是清空、不依赖选中——光标停在哪一行,那一行连同它的换行符就被物理移除。
为什么按了 Ctrl+Shift+K 没反应?
它没坏,大概率是被截胡了:
- 中文输入法(尤其是搜狗、微软拼音)常把
Ctrl+Shift+K当作中英文切换热键,切到英文状态再试 - 插件覆盖了默认行为,打开
Preferences → Key Bindings,搜索ctrl+shift+k,看用户键绑定文件里有没有冲突项 - 文件处于只读状态(右下角显示
Read Only),保存或取消只读后快捷键才恢复生效 - 远程桌面或终端模拟器(如 MobaXterm)拦截该组合键,需在客户端设置中放行
多行删除为什么只删了一行?
因为 Ctrl+Shift+K 默认只作用于当前光标所在行,不是“批量操作”逻辑。想删多行,得先让光标出现在所有目标行上:
- 鼠标法:按住
Ctrl(Win/Linux)或Cmd(macOS),点击多行左侧行号空白处(出现虚线框即表示整行被选中),再按Ctrl+Shift+K - 键盘法:光标放第一行 →
Ctrl+L选中该行 →Ctrl+Shift+L拆成多个光标 → 按Delete或Backspace - 别用鼠标拖选文本后按快捷键——容易漏掉换行符,导致上下行意外合并
删空行、注释行或匹配某模式的行怎么搞?
快捷键不支持条件筛选,必须用正则替换:
- 删所有空行:
Ctrl+H→ 勾选Regular Expression→ 查找^\s*$\n→ 替换为空;结尾的\n必须保留,否则最后一行空行可能删不干净 - 删 JS 注释行:
^//.*$\n - 删含
console.log的行:^.*console\.log.*$\n(点号要转义) - 执行前务必先点
Find All确认命中行数,避免误删
删完光标跳到奇怪位置,是 bug 吗?
不是 bug,是设计使然。删行时 Sublime 移除了整行 + 换行符,后续内容自然上提:
- 删中间某行,光标落在下一行开头
- 删最后一行,光标停在倒数第二行末尾
- 这个定位逻辑无法通过设置关闭,强行改 key binding 容易引发副作用,不建议折腾
- 真正容易被忽略的是换行符格式混用(
\nvs\r\n)会导致Ctrl+L选行错位,进而让Ctrl+Shift+K表现异常











