Ctrl+Shift+K(Windows/Linux)或 Cmd+Shift+K(macOS)可一键删除光标所在整行,含换行符,不依赖选中、不进剪贴板;失效常因输入法冲突、插件覆盖、文件只读或焦点不在编辑器。

删整行代码用 Ctrl+Shift+K,不是 Ctrl+X
Ctrl+Shift+K(Windows/Linux)或 Cmd+Shift+K(macOS)才是真·删整行:它不依赖选中、不进剪贴板(实际是剪切,但行为像删除)、连换行符一起干掉。光标在哪一行,就删哪一行,上下文自动缝合。
常见混淆点:Ctrl+X 是剪切,需先选中;Ctrl+K, Ctrl+K 只删光标右侧到行尾;Ctrl+K, Ctrl+K 按错位置会留半截代码,比如在 console.log("hello"); 中间按,只剩 console.log("。
- 误删后立刻
Ctrl+Z可完整恢复整行,撤销粒度是操作级 - 连按两次
Ctrl+Shift+K会删两行——第一次删第5行,光标落第6行开头,第二次删第6行 - 文件设为只读(右下角显示
Read Only)时所有编辑快捷键静默失效 - 中文输入法(如搜狗、微软拼音)常劫持
Ctrl+Shift+K当中英文切换键,切英文再试
删空行必须用正则 ^\s*$\n,别信 ^$
手动删或连按快捷键效率低还易漏。^\s*$\n 是 Sublime 里最稳的空行匹配表达式:它能吃掉“看似空、实则有空格或 Tab”的伪空行,且明确以 \n 结尾,避免误吞下一行开头。
别用 ^$——它不匹配含空白符的行,也不匹配文件末尾的空行;也别漏掉结尾的 \n,否则最后一行空行可能残留。
- 操作路径:
Ctrl+H→ 点右下角.*开正则 →Find What填^\s*$\n→Replace With留空 →Alt+Enter(Win/Linux)或Cmd+Alt+Enter(macOS)全部替换 - 只想删选中区域?先选文本,再打开替换面板,勾选
In Selection - 文件末尾连续多个空行时,
^\s*$\n只删到倒数第二个换行符,最后一个保留;如需彻底清空,额外跑一次\n\s*$ - JSON/HTML 等格式删空行可能放大 diff,建议仅开发阶段清理,提交前确认不影响解析
删行尾空格用 trim_trailing_white_space_on_save
不用装插件,Sublime 原生支持保存时自动清理行尾空格和制表符,靠的是设置项 trim_trailing_white_space_on_save。
它只在用户设置(Preferences → Settings 右侧面板)生效,值必须是布尔型 true,不是字符串 "true",且 JSON 格式要合法(英文双引号、逗号不缺)。
- 若开了却没反应,优先检查是否被更高优先级配置覆盖:项目设置(
.sublime-project) > 语法专属设置(如Settings – Syntax Specific) > 用户设置 - 已装
TrailingSpaces插件且启用了trailing_spaces_on_save,两者共存会导致光标跳动、重复清理,建议只留一个 - 想手动清理当前文件?
Ctrl+Shift+P→ 输入Trim Trailing White Space回车即可,它只动行尾,不动缩进、不碰空行、不伤 Markdown 的两个空格换行语法 - 正则备用方案:
Ctrl+H→Find What填[ \t]+$→ 开正则 → 替换为空,比^\s+$更准(后者会误吞空行)
批量删指定内容的行得靠正则替换
删注释、日志、调试语句这类任务,快捷键完全不适用,必须进 Ctrl+H 面板用正则。
关键原则:先点 Find All 确认命中行数,再点 Replace All,避免误删整块配置。
- 删 JS 单行注释:
^//.*$\n(.不需转义,Sublime 正则引擎认这个) - 删含
console.log的行:^.*console\.log.*$\n(点号必须转义) - 删含
error的日志行:^.*error.*$\n - 换行符混用(
\n和\r\n并存)会让Ctrl+L选行错位,进而导致正则锚定^和$失效;统一前先执行Ctrl+Shift+P→Convert Line Endings: Unix
Ctrl+Z 备个份,比啥都强。

















