Sublime Text需设置"trim_trailing_white_space_on_save": true以保存时自动删除行尾空格;若无效,可能是语法类型或插件覆盖了该设置,可新建.txt文件验证,或用命令面板执行Trim Trailing White Space手动清理。

Sublime Text 默认不会自动删行尾空格,必须手动开启或配置;不设的话,每次保存都留着,Git 提交时容易带脏变更。
怎么让 Sublime 自动删行尾空格
核心是改 trim_trailing_white_space_on_save 这个设置项,设为 true 即可。它只影响「保存时」的行为,不影响编辑过程中的空格输入。
- 打开菜单 Preferences → Settings(左右分栏,改右边用户配置)
- 在右侧面板 JSON 里加一行:
"trim_trailing_white_space_on_save": true - 保存文件(
Ctrl+S或Cmd+S),立刻生效
为什么有时候设置了也不删?常见原因
不是所有文件类型都默认启用该行为——Sublime 会按语法类型加载不同规则,比如某些自定义语法或插件(如 MarkdownPreview、LaTeXTools)可能覆盖全局设置。
- 检查当前文件右下角显示的语法类型(如
Plain Text、Python),点击切换试试 - 如果用的是
Markdown或HTML等格式,可能被语法专属设置干扰:查一下Preferences → Package Settings → [对应插件] → Settings,确认没写"trim_trailing_white_space_on_save": false - 临时验证:新建一个
.txt文件,输几行带空格的内容,保存看是否被删——能删说明全局设置生效,不能删大概率是语法/插件层覆盖了
想手动删一次怎么办(不用等保存)
适合清理老文件或临时补救,用命令面板调内置命令最稳,比正则替换快且不易误伤。
- 快捷键
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Trim Trailing White Space,回车执行 - 注意:这个命令只处理当前视图可见内容,不跨文件;也不会删空行开头的缩进空格,只动行尾
真正麻烦的是混合缩进场景——比如 Tab 和空格混用,再加行尾空格,trim_trailing_white_space_on_save 只管“尾部”,不管“中间”。这种得靠 Convert Indentation 配合,或者上 EditorConfig 插件统一约束。










