Sublime没有安全的“一键全清”方案,真正提效的是分场景使用原生命令:启用trim_trailing_white_space_on_save: true自动清理行尾空格和制表符,手动清理用Ctrl+Shift+P执行Trim Trailing White Space命令。

Sublime 里没有“一键全清”的安全方案,盲目清理空格、缩进、空行或注释,大概率破坏 Python 缩进、YAML 对齐、Makefile 变量展开或 Markdown 硬换行。真正提效的关键,是分场景用对原生命令 + 控制生效范围,而不是堆插件或狂按正则。
用 trim_trailing_white_space_on_save 自动清行尾,别装插件
这是 Sublime 原生功能,稳定、无冲突、不拖慢启动。只需在 Preferences → Settings – User(右侧面板)中加一行:
"trim_trailing_white_space_on_save": true
注意四点:
- 必须写在用户设置 JSON 的
{}内,已有配置项末尾要加英文逗号 - 值必须是
true,不是"true"(字符串会静默失效) - 中文引号、多逗号、漏大括号都会让整个用户设置失效,Sublime 不报错
- 它只删非空行末尾的空格和
\t,不动缩进、空行、行中空格
手动清理老文件?用内置命令 Trim Trailing White Space
快捷键 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Trim Trailing White Space 回车——这是 Sublime 自带命令,比正则更安全:
- 它不匹配空行,也不碰
text.markdown中两个空格+换行这种语义结构 - 若没反应,先右下角切换语法为
Plain Text再试,排除语法专属设置覆盖 - 别用正则
^\s+$清空行:它会误删“只有空格没换行”的行,且勾选. matches newline会导致$失效
删整行/删到行尾?认准 Ctrl+Shift+K 和 right_delete
Ctrl+Shift+K(Win/Linux)或 Cmd+Shift+K(macOS)是原子级删行命令,删光标所在行及换行符;而删光标右侧至行尾,就是它绑定的 right_delete 动作:
- 不是
End+Delete:软换行开启时,End停在视图末尾,Delete只删半行 - 连按
Ctrl+Shift+K不会批量删多行——第一次删第5行,光标落到第6行开头,第二次又删第6行 - 真要批量删,先用
Ctrl+L选中当前行,再Ctrl+Shift+L拆多光标,最后统一删
缓存不清理,格式化和跳转就卡死
CodeFormatter 插件跑不动、Ctrl+P 卡顿、Goto Definition 失效,90% 是缓存残留,尤其 LSP 类插件(如 pyright、texlab):
- 关掉 Sublime 后,清三处:
Cache、Local\Index、Packages/User下对应插件的*.sublime-settings - Windows 用户重点查
%LOCALAPPDATA%\Sublime Text\Cache\,里面常躺着 pyright 的 socket 文件 - 别信命令面板里的
Rebuild Index,它修不了底层索引损坏,必须手动删
最易被忽略的是:语法类型和项目设置的优先级高于用户设置,哪怕你配对了 trim_trailing_white_space_on_save,.sublime-project 里一句 false 就让它彻底失效。验证前,先切 Plain Text —— 这招比重装插件快十倍。

















