必须同时启用"draw_white_space":"all"和"show_line_endings":true,前者显示空格·和tab→,后者才显示行尾¶/↵并同步状态栏换行符类型。

换行符显示必须单独开 show_line_endings,和 draw_white_space 无关
只设 "draw_white_space": "all" 是不够的——它管空格(·)和制表符(→),但换行符(¶ 或 ↵)是否画出来,由完全独立的配置项 show_line_endings 控制。这个值必须显式设为 true,否则哪怕其他都对,你也看不到任何换行符号。
常见错误是以为“all 就是全量”,结果配置里只有 draw_white_space,保存后反复刷新文件,依然不见 ¶。这不是缓存问题,也不是主题不支持,就是缺了这一行。
-
"show_line_endings": true必须加在 Preferences → Settings – User 的 JSON 中,和draw_white_space并列,不能嵌套、不能缩进错位 - 值必须是布尔型
true,写成"true"(字符串)、1或漏掉都不行 - 保存后立即生效,已打开的文件通常需按一下方向键或切换标签页触发重绘
Windows 和 Unix 换行符显示不同:¶ vs ↵,不是 bug 是设计
Sublime 会根据当前文件实际使用的换行符类型,自动选择显示 ¶(对应 \r\n,即 CRLF)或 ↵(对应 \n,即 LF)。这是有意为之的视觉提示,用来暴露跨平台混用问题。
比如你从 Windows 拉了个文件,在 macOS 上编辑保存,又没关 show_line_endings,一眼就能看出哪些行末尾是 ¶、哪些是 ↵——说明换行符不统一。Git diff 里看不见,但这里能看见。
- 右下角状态栏会实时显示当前换行类型(如
CRLF或LF),点击可手动切换,比依赖符号更可靠 - 想让新文件默认用 Unix 换行,加一行:
"default_line_ending": "unix" - 如果所有行都显示 ¶,但你知道文件是纯 Unix 风格,先检查是否被插件(如 EditorConfig)覆盖了换行设置
show_line_endings 不影响代码行为,只影响视觉反馈
这个配置纯粹是渲染开关,不会改变文件内容、不干预保存逻辑、也不影响语法高亮或缩进检测。它只是把原本不可见的行尾控制字符,用符号形式“画”出来。
所以它安全、轻量,开与不开对性能几乎无影响,也不会和 translate_tabs_to_spaces 或 detect_indentation 冲突。唯一要注意的是:某些极简主题(如 Monokai Soda)可能默认把 ¶ 渲染得过小或透明度太高,导致看不清——这时优先调大 font_size,比换主题更快见效。
- 如果 ¶ 符号位置轻微错位(比如比文字基线高一点),大概率是字体本身对 Unicode 段落符号的支持不一致,换用 Fira Code 或 JetBrains Mono 可缓解
- Markdown 或 HTML 文件里,换行符显示可能被语法高亮规则压制,临时切到 Plain Text 语法再确认
- 别指望它帮你“修复”换行问题——它只告诉你“这里有”,改还得靠右下角点击切换,或手动执行
File → Line Endings → Unix (LF)
临时查看换行符,用命令面板比改配置更快
不需要永久开启?审查 PR 或快速核对日志格式时,直接用命令面板最省事:
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS) - 输入
View: Toggle Line Endings回车 - 立刻看到 ¶/↵,再按一次就隐藏
这个操作只作用于当前会话,关闭 Sublime 后自动恢复原设置,适合不希望污染长期偏好的场景。注意:它和 Toggle Whitespaces 是两个命令,后者只动 draw_white_space,不碰换行符。
真正容易被忽略的是:符号显示出来之后,没人去点右下角的 CRLF/LF 切换——那才是修改实际换行符的入口。光看不改,等于只诊断不治疗。











