直接在用户设置中将 trim_trailing_whitespace_on_save 设为 true 即可启用保存时自动清理行尾空格,它仅删除行尾空格和制表符,不影响缩进、中间空格或空行。
保存时自动清理行尾空格怎么配
直接改用户设置就能生效,不用装插件。
设为
后,每次按
(Windows/Linux)或
(macOS)就会删掉所有行尾的空格和制表符,但不会动缩进、中间空格或空行本身。
常见错误包括:
JSON 格式写错:必须用双引号,末尾不能多逗号
配置写在了项目设置里,被覆盖了
文件语法类型被识别错误(比如
文件显示为 Plain Text),导致语法专属设置未加载,间接干扰全局配置
推荐搭配:
,它会在你移出某行时立刻清理该行尾部空白——适合边写边修,但注意它对性能稍有影响,大文件编辑时可能卡顿。
手动触发清理命令的快捷键怎么绑
只响应“保存”动作,不响应快捷键。想临时清理当前文件,得自己绑定命令。
在
的用户键位文件中加一条:
说明:
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
别用
:Linux 桌面默认是开终端,Windows 上也可能冲突
Sublime 4.4+ 支持更细粒度控制,比如只对特定后缀启用:
;老版本不认这种写法,会直接忽略整条配置
命令面板也能调用:
输入
回车,但不如快捷键快
正则替换救急:确认有没有空格、批量清理都靠它
当自动清理没反应,或者你想检查/清理一堆历史文件时,
(Windows/Linux)或
(macOS)打开替换面板最直接。
操作要点:
务必点击右下角
按钮启用正则模式,否则
当普通字符处理
查找框填
,替换框留空,点
—— 这是最准的行尾空白匹配
别勾选
:它会让
和
失效,变成匹配整个文档头尾
如果发现删多了(比如把注释行末的空格也删了),说明你之前用了
或其他宽泛模式,下次换回
为什么 Ctrl+Shift+K 不是你要的“删行尾”
是删除「整行内容 + 换行符」,不是删“行尾空格”。它常被误当作清理工具,但实际行为是:
光标在行中任意位置,都会删掉从光标到本行末尾(不含换行符)的所有字符
如果光标已在行尾,再按一次会删掉换行符,把下一行“吸”上来——这不是 bug,是设计如此
它不区分空格、代码、注释,一并清除;也无法跳过缩进用的空格
真正要删行尾空格,还是得靠配置、命令或正则。快捷键只是辅助,不是替代方案。
最容易被忽略的是:
的生效前提是「显式保存」,切出窗口、关标签页、甚至 Ctrl+W 都不会触发——哪怕你开了
,也得确保它和
同时为
才行。
trim_trailing_white_space_on_savetrueCtrl+SCmd+S.log"trim_automatic_white_space": truetrim_trailing_white_space_on_savePreferences → Key Bindings[{"keys": ["ctrl+alt+shift+t"], "command": "trim_trailing_white_space"}]Ctrl+Alt+T"trim_trailing_white_space_on_save": {"enabled": true, "file_extensions": ["py", "js"]}Ctrl+Shift+PTrim Trailing White SpaceCtrl+HCmd+H.*\s\s+$Replace All. matches newline^$^\s*$\s+$Ctrl+Shift+Ktrim_trailing_white_space_on_savesave_on_focus_losttrim_trailing_white_space_on_savetrue