Sublime Text可通过设置"ensure_newline_at_eof_on_save": true实现保存时自动添加末尾换行符,配合"trim_trailing_white_space_on_save": true可清理行尾空格,支持全局或按语法类型单独配置。

Sublime Text 默认不会在保存文件时自动添加末尾空行,但可以通过修改设置轻松实现这个功能。
启用 ensure_newline_at_eof_on_save
这是 Sublime Text 内置的开关选项,控制保存时是否确保文件末尾有一个换行符(即空行)。开启后,只要当前文件末尾没有换行符,保存时就会自动补上。
- 打开 Preferences → Settings(或按 Ctrl+, / Cmd+,)
- 在右侧用户设置(User Settings)面板中,添加这一行:
保存文件即可生效。注意:该设置只影响“保存”动作,不改变已有内容的格式逻辑(比如不会在已有空行后再加一行)。
配合 trim_trailing_white_space_on_save 使用更干净
如果还希望自动清理行尾多余空格,可以一并开启:
- 在同一设置文件中追加:
这样保存时会先删掉每行末尾的空格和制表符,再确保结尾有一个换行符——避免出现“空格+换行”的冗余组合。
注意:它加的是“换行符”,不是“空行”
严格来说,ensure_newline_at_eof_on_save 添加的是一个 LF 或 CRLF 换行符(取决于文件编码和系统),让光标停在最后一行之后。这在大多数编辑器和 Git 中被视为“标准结尾”,也等效于我们常说的“文件末尾空行”。但它不会额外插入一个完全空白的行(即不会变成两行空行)。
对不同文件类型统一生效
上述设置是全局的,适用于所有文件。如需为某类文件(如 Python、Markdown)单独控制,可在对应语法的 Settings – Syntax Specific 中设置,例如:
- 打开一个 .py 文件 → Preferences → Settings – Syntax Specific
- 写入:{"ensure_newline_at_eof_on_save": true}
这样仅对该语言生效,不影响其他类型。
基本上就这些。不复杂但容易忽略,开个开关就能让协作和版本管理更顺手。










