唯一可靠方案是设"draw_white_space": "all",使空格恒显为·、制表符为→;需在Settings–User中添加该字符串值,v3+支持,配合"tab_size":4和"translate_tabs_to_spaces":true可根治缩进问题。

怎么让空格和制表符稳定显示为 · 和 →
唯一可靠、全局生效的方案是设置 "draw_white_space": "all"。它不是“开关式”功能,而是编辑器底层渲染层的持续可视化:空格恒定显示为浅灰小圆点(·),制表符恒定显示为右向箭头(→),换行符显示为¶,行尾空白也一并标出。
- 打开 Preferences → Settings,只改右侧
Settings – User(改左侧Default无效) - 在 JSON 对象中添加一行:
"draw_white_space": "all"(注意逗号分隔,值必须是字符串"all",不是true或"on") - 保存后立即生效,无需重启;若没反应,大概率是改错了面板或用了 Sublime Text 2(
"all"仅 v3+ 支持)
为什么不能只用菜单里的 “Show Hidden Characters”
菜单项 View → Show Hidden Characters 是临时会话级开关,本质是把 draw_white_space 在 "selection" 和 "none" 之间切换——它只在你选中文本时才高亮其中的空格/Tab,纯空格行、缩进行首尾、未选中的段落全不可见。
- Python 报
IndentationError?你看到的“对齐”可能一行是 4×→,另一行是 16×·,但菜单开关根本暴露不了 - 协作中别人提交了含 Tab 的 YAML 文件,你本地没开
"all"就直接编辑,很容易把混用“固化”成更难清理的格式 - 这个菜单项容易被误关,且不保留状态——关掉 Sublime 再打开就失效
显示出来了,但 · 和 → 看不清怎么办
不是设置没生效,而是当前配色主题(Color Scheme)把 white_space_foreground 设得太淡。Sublime 不提供 UI 调节滑块,只能靠主题适配或微调。
- 换一个高对比主题,比如
Monokai或Brogrammer,它们对空白字符的默认着色更清晰 - 如果坚持用当前主题,可在用户设置里追加:
"theme": "YourTheme.sublime-theme"并确认该主题文件中定义了white_space相关规则 - 别尝试用插件如
Show Whitespace替代——原生draw_white_space零性能损耗,插件反而可能干扰语法高亮或搜索
配合缩进设置才能真正防坑
光看见 Tab 没用,得让它不出现。显示只是诊断手段,根治要靠输入行为控制。
- 在用户设置中一并加上:
"tab_size": 4和"translate_tabs_to_spaces": true - 这样按下 Tab 键插入的是 4 个空格字符(····),而非制表符(→);已有文件可用底部状态栏点击
Tabs: 4→Convert Indentation to Spaces统一清理 - 切记:
"detect_indentation": false推荐关闭——否则打开别人混排的文件时,Sublime 可能自动切到Tabs模式,你却没开draw_white_space,等于闭眼改缩进
最常被忽略的一点:哪怕配置里写了 "tab_size": 4,只要没开 "draw_white_space": "all",那些空格就还是隐形的——你永远不知道自己删掉的是 4 个空格,还是 1 个 Tab 加 3 个空格。










