ctrl+shift+k(windows/linux)或cmd+shift+k(mac)可直接删除光标所在整行(含换行符),多光标时逐行删除;误按ctrl+k或ctrl+shift+d、插件冲突、输入法劫持、远程桌面拦截等会导致无响应;批量删空行/注释行需用正则替换,如^\s*$\n;自定义操作可调用delete_line命令。

Ctrl+Shift+K 删除当前行(Windows/Linux)
这是 Sublime Text 内置的默认快捷键,按下后会直接移除光标所在行,包括换行符。哪怕光标停在行中任意位置,它都只删整行,不依赖选中范围。
常见错误是误按 Ctrl+K(仅删光标右侧),或 Ctrl+Shift+D(复制当前行),结果没反应还怀疑快捷键失效——其实只是按错了组合。
- 如果光标在空行,
Ctrl+Shift+K会删掉该空行,不会“跳过” - 多行光标模式下(比如用
Ctrl+Click打了多个光标),每个光标所在行都会被独立删除 - Mac 用户对应的是
Cmd+Shift+K,不是Ctrl
如何批量删除多行(含条件筛选)
单纯靠快捷键只能逐行删,真要删掉所有空行、注释行或匹配某模式的行,得靠 Find → Find in Files 或正则替换。
例如删所有空行:打开 Find → Replace(Ctrl+H),勾选 Regular Expression,查找框填 ^\s*$\n,替换为空;注意结尾必须带 \n,否则最后一行空行可能删不干净。
- 删所有以
//开头的 JS 注释行:^//.*$\n - 删包含
console.log的行:^.*console\.log.*$\n(点号记得转义) - 替换前务必先点
Find All确认命中的行数,避免误删
为什么 Ctrl+Shift+K 有时没反应?
最常见原因是快捷键被插件覆盖,尤其是安装了 Emacs Pro Essentials 或 SublimeCodeIntel 这类重度插件后,Ctrl+Shift+K 可能被重新绑定为其他功能。
检查方式:打开 Preferences → Key Bindings,搜索 ctrl+shift+k,看右侧用户键位文件里是否有冲突定义。如果有,删掉那行或改成别的组合。
- 部分输入法(如搜狗 Windows 版)会劫持
Ctrl+Shift+K做快捷切换,关掉输入法或换用微软拼音可解 - 远程桌面或某些终端模拟器(如 MobaXterm)会拦截该组合键,此时需在客户端设置里放行
- Sublime Text 4 某些 beta 版本存在快捷键注册延迟,重启软件即可恢复
用命令面板执行删除(适合自定义或脚本化)
如果想把“删整行”封装进自己的命令或绑定到鼠标右键,得调用内置命令 run_command("delete_line")。这个命令和 Ctrl+Shift+K 底层一致,但更可控。
比如在右键菜单加一项:编辑 Context.sublime-menu,插入这段:
[
{
"caption": "Delete Line",
"command": "delete_line"
}
]
注意:delete_line 是命令名,不是函数调用,不能加括号;也不接受参数,它永远作用于当前光标行。
- 若想删光标所在段落(比如 Markdown 中两个空行之间的块),得用
expand_selection先选中再删,delete_line不支持 - 插件开发中调用此命令时,务必确保视图处于激活状态,否则可能静默失败
- 该命令不会触发
on_modified事件,但会触发on_post_text_command,监听时注意区分
\n 位置——少写一个,空行就删不净;多写一个,可能吞掉下一行首字符。











