最直接有效的方式是禁用whitespace插件的Trim Trailing Whitespace开关;若写Markdown,再勾选Keep Markdown Line Break Whitespace。

Atom 默认会删行尾空格,不是排版功能出错,而是 whitespace 插件在干活——关掉它或调细规则,就能停手。
怎么关掉 Atom 保存时自动删行尾空格
最直接有效的方式是禁用 whitespace 插件的清理行为:
- 打开 Settings → Packages → 搜索 whitespace → Settings
- 取消勾选
Trim Trailing Whitespace(这是核心开关) - 如果常写 Markdown,顺手勾上
Keep Markdown Line Break Whitespace,避免两个空格结尾被误删 - 改完不用重启 Atom,立即生效
为什么关了设置还是删?优先级你没理清
Atom 的空格处理是多层叠加的,whitespace 插件只是其中一环。真正起作用的顺序从高到低是:
- 文件内 scope 级配置(如
config.cson里写了".text.plain.key": { editor: { removeTrailingWhitespace: true } }) - 项目根目录的
.editorconfig文件(哪怕插件关了,只要它存在且含trim_trailing_whitespace = true,就会触发) -
whitespace插件自身的 UI 开关 - Atom 全局
core.trimTrailingWhitespace设置(config.cson 里)
排查时建议:先临时禁用 editorconfig 插件,再测试;否则容易以为“已经关了”,其实被 .editorconfig 覆盖了。
只想对某类文件删空格,比如 .key 或 .log
不推荐全局关,而是精准控制。在 config.cson 中加 language-specific 规则:
".text.plain.key":
editor:
removeTrailingWhitespace: true
".source.log":
editor:
removeTrailingWhitespace: true
注意点:
- scope 名必须准确,可用
Ctrl+Shift+P→Editor: Log Cursor Scope实时查看当前光标所在 scope -
removeTrailingWhitespace是 editor 层配置,不是whitespace插件层的trim_trailing_whitespace - CSON 语法严格:末尾不能有逗号,字符串含空格要用单引号
最容易被忽略的是 .editorconfig 和 scope 配置的隐式覆盖——它们不弹窗、不报错,只默默执行。改完记得用一个干净的 .txt 文件测试,别直接在复杂项目里验证。

















