Sublime Text 提供五种换行符处理方法:一、状态栏点击切换当前文件格式;二、命令面板批量转换已打开文件;三、修改用户设置统一新建文件默认格式;四、正则替换处理混杂换行符;五、配合 .gitattributes 实现 Git 层面跨平台统一。

如果您在跨平台协作中遇到 Git 报告 CRLF 混入、脚本执行失败或编辑器显示 ^M 符号等问题,则很可能是文件换行符格式不一致所致。Sublime Text 提供多种方式快速将文件在 Unix(LF)与 Windows(CRLF)换行符之间转换。以下是解决此问题的步骤:
一、通过状态栏一键切换当前文件换行符
此方法直接作用于当前打开的文件,操作即时、无需插件,适用于单个文件快速修正。状态栏显示即为文件真实换行格式,点击后可立即转换类型,但必须手动保存才能写入磁盘。
1、打开目标文件,观察 Sublime Text 窗口右下角状态栏,确认当前显示为 LF 或 CRLF。
2、点击该显示区域,弹出菜单。
3、选择 Convert to Unix line endings(转为 LF)或 Convert to Windows line endings(转为 CRLF)。
4、按 Ctrl+S(Windows/Linux)或 Cmd+S(macOS)保存文件,确保变更写入磁盘。
二、批量转换所有已打开文件的换行符
当多个文件已在标签页中打开时,可一次性统一其换行符格式,避免逐个操作。该方式依赖命令面板调用原生命令,要求命令名严格匹配大小写,且仍需额外执行保存动作。
1、使用 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)多选标签页,或通过 Ctrl+P 快速打开多个目标文件。
2、按 Ctrl+Shift+P 调出命令面板。
3、输入 Convert Line Endings to LF(注意大小写,不可全小写)并回车。
4、再次调出命令面板,输入 Save All 并回车,完成全部文件的持久化保存。
三、修改用户设置以统一新建文件默认换行符
此方法设定全局新建空白文件(Ctrl+N)的默认换行风格,防止 Windows 系统下反复生成 CRLF 文件。配置项必须置于 Settings – User 中,且值严格为小写字符串;它对已存在或拖入的文件无效。
1、点击菜单 Preferences → Settings – User。
在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
2、在右侧 JSON 配置区添加或修改字段:"default_line_ending": "unix"(设为 LF)或 "default_line_ending": "windows"(设为 CRLF)。
3、保存设置文件,此后所有新创建的空白文件将按此规则生成换行符。
四、利用正则替换处理混杂脏数据的文件
当文件中存在异常换行序列(如 \r\r\n)或需精细控制替换逻辑时,正则替换可绕过状态栏限制,直接操作字节序列。启用正则模式后,需严格区分 \n 与 \r\n 的匹配方向,且替换结果不会自动保存。
1、打开目标文件,按 Ctrl+H 打开替换面板。
2、点击右下角 .* 按钮启用正则模式。
3、若需将 CRLF 统一转为 LF:在查找框输入 \r\n,替换框输入 \n,点击 Replace All。
4、若需将 LF 转为 CRLF:查找框输入 \n,替换框输入 \r\n,再点击 Replace All。
5、执行 Ctrl+S 保存文件,使替换结果生效。
五、配合 Git 的 .gitattributes 实现协作层统一
仅靠编辑器设置无法约束团队其他成员的行为,Git 层面的规范化才是跨平台协作中避免换行符污染的根本手段。.gitattributes 文件声明优先级高于编辑器配置,可强制所有文本文件在检出和提交时采用指定换行风格。
1、在项目根目录新建文件,命名为 .gitattributes。
2、写入以下内容(推荐统一为 LF):* text=auto eol=lf。
3、在终端中执行:git add --renormalize .,重新标准化所有已跟踪文件的换行符状态。
4、提交该 .gitattributes 文件,并推送至远程仓库,确保所有协作者拉取后自动生效。

















