必须设"draw_white_space":"all"并添加"show_line_endings":true才能永久显示空格(·)、制表符(→)和换行符(¶/↵);需在Settings–User中用英文双引号配置,且受配色方案和字号影响。

必须设 draw_white_space 为 "all",否则永远看不到完整不可见字符——菜单里的「Show Hidden Characters」不存档、不重绘、不显示换行符,纯属误导。
怎么永久开启空格(·)、制表符(→)、换行符(¶)全量显示
打开 Preferences → Settings,在右侧用户设置(Settings – User)中添加这一行:
"draw_white_space": "all"
注意三点:
- 必须用英文双引号包裹
"all",写成true、on或漏引号都会导致整个配置解析失败,静默失效 - 必须改
Settings – User,改Settings – Default无效(它是只读的) - 保存后立即生效,无需重启 Sublime,所有已打开/新打开的文件都适用
为什么 show_line_endings 是换行符显示的“另一半”
draw_white_space 控制空格和制表符,但换行符(¶ 或 ↵)是否画出来,由另一个独立配置决定:
"show_line_endings": true
不加这行,哪怕 draw_white_space 设为 "all",你也看不到换行符号。它和 draw_white_space 是并列关系,不是子属性。
- Windows 换行(
\r\n)显示为¶,Unix(\n)显示为↵,这是有意为之,用来暴露混用问题 - 右下角状态栏会显示当前换行类型(如
CRLF),点击可手动切换,比依赖符号更可靠 - 若想新文件默认用 Unix 换行,再加一行:
"default_line_ending": "unix"
符号看不清、错位、或根本没出现 → 怎么排查
常见现象不是配置错了,而是被其他设置或主题掩盖了:
- 如果只看到
·看不到→,先确认translate_tabs_to_spaces是false:设为true时按 Tab 插入的是空格,文件里压根没有\t,自然不渲染→ - 如果
·极淡甚至看不见,大概率是配色方案把white_space_foreground设得太浅,优先调大font_size(比如设为14)比换主题见效更快 - 如果
→显示模糊或错位,不是字体问题就是混合缩进:同一文件里有的行用 4 个空格,有的用 1 个\t(即使tab_size都是 4),视觉对齐但字符本质不同——此时运行命令面板里的Convert Indentation to Spaces更治本
大文件卡顿、复制粘贴出乱码,怎么平衡可视性与性能
"draw_white_space": "all" 本身不拖慢编辑逻辑,但会触发实时扫描和绘制,对 >10MB 的日志或数据文件可能造成轻微渲染延迟,尤其在 SSD 性能一般或远程挂载时。
- 临时排查用命令面板:
Ctrl+Shift+P输入Toggle White Space,它不改配置,只运行时覆盖,适合 Code Review 中途快速开关 - 日常开发建议保持
"all",但打开超大文件前可先切到"selection"或干脆关掉,避免干扰 - 别指望靠这个设置发现 Git 提交警告——换行符一致性最终靠
.gitattributes控制,Sublime 的显示只是辅助线索
真正容易被忽略的点是:符号是否可见,80% 取决于当前配色方案对 · 和 → 的颜色定义,而不是 Sublime 自身;很多人调了半天配置,最后换了个深色主题就解决了。

















