必须同时设置"draw_white_space":"all"和"show_line_endings":true才能稳定显示空格·、制表符→和换行符¶/↵,二者并列且缺一不可,需严格写入settings–user的json中。

必须在 Preferences → Settings – User 中添加 "draw_white_space": "all",否则空格(·)和制表符(→)不会稳定显示;菜单里的「Show Hidden Characters」只临时生效、不显示空格、且关掉就丢。
怎么正确配置 draw_white_space 才能真正看到 · 和 →
这个设置不是开关式功能,而是 JSON 配置项,写错一个字符就静默失效:
-
"draw_white_space"必须拼写完全正确,不能是draw_whitespace或white_space - 值必须是英文双引号包裹的字符串
"all",写成true、all(没引号)、"All"(大小写错)都不行 - 只能加在右侧「Settings – User」里,左侧 Default 设置或语法专属设置中完全无效
- 保存后已打开文件可能不立即刷新,切换标签页或按一下方向键就能触发重绘
为什么开了 "draw_white_space": "all" 还看不到 →
不是配置没生效,而是文件里压根没有 \t 字符:
-
"translate_tabs_to_spaces": true(默认很多 Python 项目开启)时,按 Tab 插入的是空格,不是制表符 → 自然不渲染 - 右下角状态栏显示
Spaces: 4或Tab Width: 4 (Spaces),说明当前缩进已被转为空格 - 想确认原始缩进结构,得临时设
"translate_tabs_to_spaces": false,再重新打开文件或粘贴含真实\t的文本 - 文件是只读状态(右下角标 RO)时,Sublime 会跳过空白字符绘制
show_line_endings 是独立开关,不加它就看不到 ¶
"draw_white_space": "all" 管不到换行符。Git 跨平台协作常报 ^M 或 CRLF/LF 混用,这时 ¶ 比 · 更关键:
- 必须额外加
"show_line_endings": true,和draw_white_space并列,不是它的子属性 - Windows 换行
\r\n显示为¶,Unix\n显示为↵,状态栏也会同步标出当前类型 - 典型用户配置就是:
{"draw_white_space":"all","show_line_endings": true} - 如果只开
draw_white_space,你看到满屏 · 和 →,但每行结尾干干净净——那只是因为 ¶ 根本没启用
真正容易被忽略的是:符号显示出来之后,光标移动仍按原始字符计算。比如一个制表符占 4 列宽,但 ← 键只跳 1 个字符位;复制时鼠标拖选容易误选 · 或 →,改用 Ctrl+L(整行)更安全。











