用^\s$正则替换为空可批量删除所有空行(含伪空行),需启用正则模式、禁用“. matches newline”、替换框留空;其他写法如^$易漏删,^\s\n可能误伤格式。

Sublime Text 里怎么批量删掉每行里的某个字符串
能删,但不是“删除字符串”而是“替换为空”,用 Ctrl+H(Windows/Linux)或 Cmd+H(macOS)打开替换面板,输入要删的字符串,替换框留空即可。注意:默认是普通文本匹配,不是正则,所以不用转义点号、星号等字符——除非你真想按正则删。
为什么有时候删了一半,或者删多了
常见原因是没关掉 Match Whole Word 或误开了 Regex。比如你想删掉每行末尾的 ;,但勾了 Match Whole Word,那 int a = 1; 里的分号就不会被匹配(因为后面没空格/边界);如果开了 Regex 又没转义 .,file.txt 里的点就会被当成通配符,删掉不该删的字符。
- 删固定字符串:确保
Regex关闭,Match Whole Word按需开关 - 删行尾内容:开
Regex,用;$(注意$表示行尾) - 删某列之后所有内容:用列选择(
Ctrl+Shift+↑/↓或鼠标拖拽时按Alt)再删,比正则更稳
多行同时操作,但只想删其中一部分匹配项
Sublime 不支持“只删第2次出现的 foo”,但它支持“选中后再替换”——这是最可控的方式。先用 Ctrl+F 搜出所有目标,按 Ctrl+Enter 全部选中,然后手动 Ctrl+Shift+L 把每个匹配变成独立光标,删掉不需要的那些光标位置上的内容,再统一按 Delete 或 Backspace。
- 适合场景:日志里删掉部分
timestamp=...,但保留开头几行的 - 关键动作:
Ctrl+F→ 输入关键词 →Ctrl+Enter→Ctrl+Shift+L→ 方向键跳转 + 删除 - 别直接
Replace All,否则没法挑着删
删完发现缩进乱了或者空行变多
因为替换过程不会自动清理多余空格或空行。比如把 → (带空格)全替成空,可能留下开头多个空格;删掉 // TODO 后,行首只剩空白,看着像空行。
- 补救方法:用
Ctrl+Shift+P调出命令面板,输Trim Whitespace清空行首尾空格 - 删空行:开
Regex,搜^\s*$,替换为空(注意^和$是行首/行尾锚点) - 慎用
Find in Files批量删项目级字符串——没预览容易误伤配置文件或字符串字面量
真正麻烦的不是怎么删,而是删之前没确认上下文是否含在引号里、是否属于变量名一部分。建议先 Find All 看一眼高亮范围,再动手。











