必须设 draw_white_space: "all" 才能稳定显示制表符(→),仅靠菜单【view → show hidden characters】无法可靠呈现;该配置须以英文双引号包裹小写"all"写入 settings – user 的 json 中,且需关闭 translate_tabs_to_spaces 才能使→实际渲染。

必须设 draw_white_space: "all" 才能看到 →
只靠菜单里的【View → Show Hidden Characters】或按快捷键临时开启,大概率看不到制表符(→),它常被限制为只显示换行符(¶)和部分制表符,空格(·)压根不画。真正稳定显示 → 的唯一方式是手动改用户设置:{"draw_white_space":"all"}。注意三点:值必须是英文双引号包裹的小写 "all";配置项名是 draw_white_space,拼错就静默失效;必须写在 Preferences → Settings – User 右侧的 JSON 里,写在左侧 Default 或语法专属设置中完全没用。
translate_tabs_to_spaces 关了才能渲染 →
即使 draw_white_space 设对了,如果 translate_tabs_to_spaces 是 true(很多 Python 项目默认开启),那你按 Tab 插入的全是空格,文件里根本没有 \t 字符,自然只显示 ·,不会出现 →。右下角若显示 Tab Width: 4 (Spaces) 就是这个状态。要确认原始缩进结构,得在用户设置里加一行:"translate_tabs_to_spaces": false,再重新打开文件或粘贴含真实 \t 的文本。但别忘了协作前统一风格,否则 Git diff 里一堆 ^I。
为什么开了还看不到 →?检查这几个地方
常见原因不是配置错,而是文件本身没制表符或环境干扰:
- 文件是只读状态(右下角标 RO):Sublime 会跳过空白字符绘制
- 刚执行过
trim_trailing_white_space_on_save:行尾空格被删了,· 没了,→ 更不可能凭空出现 - 当前语法高亮规则屏蔽了渲染:比如某些自定义
.sublime-syntax文件禁用了white_spacescope,可临时切到Plain Text语法验证 - 字体不支持符号 U+2192(→):尤其老旧等宽字体,试试
Fira Code或JetBrains Mono
show_line_endings 是独立开关,别指望它管 →
draw_white_space 和 show_line_endings 完全解耦:draw_white_space 控制 · 和 →,show_line_endings 单独控制 ¶。开了 draw_white_space 但没开 show_line_endings,就看不到 ¶;开了 show_line_endings 但 draw_white_space 是 "none",就只看到 ¶,没有 · 或 →。跨平台协作时,¶ 对应 Git 报的 LF/CRLF 混用,比 · 和 → 更关键——但它真不影响制表符显示。











