在 Sublime Text 中启用 draw_white_space: "all" 可持续显示空格(·)、制表符(→)、换行符(¶)及尾部空白,需修改 Preferences → Settings – User;临时切换可用命令面板执行 Toggle Whitespaces。

如何在 Sublime Text 中显示空格和制表符
Sublime Text 默认不显示空格( )、制表符(\t)或换行符(\n),但可以通过内置设置开启「不可见字符」的可视化。这不是插件功能,无需安装额外包,改一个配置项就能生效。
关键设置是 draw_white_space,它控制是否绘制空白字符,以及绘制哪些。它的可选值有:"none"、"selection"、"all"。日常调试缩进问题时,"all" 最实用。
{
"draw_white_space": "all"
}
把这个配置加到你的用户设置里(Preferences → Settings – User),保存后立即生效。注意:它只影响当前视图的显示,不影响文件内容本身。
为什么设成 "all" 而不是 "selection"
"selection" 只在选中文本时高亮其中的空格和制表符,对排查缩进混乱、混用空格/Tab、尾部多余空格等问题帮助有限。而 "all" 会持续显示所有不可见字符:
- 空格显示为小圆点(
·) - 制表符显示为带箭头的符号(
→) - 换行符显示为段落符号(
¶) - 行尾空白(trailing whitespace)也会被标出,方便清理
如果你只想看尾部空格,可以配合 trim_trailing_white_space_on_save 自动清理,但显示仍需 "all" 才能确认是否真被删干净。
常见误操作和兼容性注意点
有人改了设置没反应,通常是因为:
- 误改了 Settings – Default(只读,改了也不生效),必须改 Settings – User
- 用了旧版 Sublime(如 v2),
draw_white_space在 v3+ 才支持"all";v2 只支持"selection"或"none" - 开启了
translate_tabs_to_spaces后仍看到→,说明当前文件里确实存在原始 Tab 字符,不是自动转换出来的 - 某些配色方案会让
·或→颜色太淡,看不清——这时要检查主题的white_space_foreground配置,或换用更清晰的主题(如Monokai)
另外,draw_white_space 不影响搜索、正则替换或语法高亮逻辑,它纯粹是视觉层叠加,性能无损耗。
如何快速切换显示/隐藏(适合临时查看)
不用反复改配置文件,Sublime 提供了命令面板快捷方式:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Set Syntax: Plain Text确保不是特殊语法干扰(比如 Markdown 有时会抑制显示) - 再输入
Toggle Whitespaces,回车即可即时开关
这个命令本质就是翻转 draw_white_space 的值,适合代码审查中途临时打开,看一眼缩进就关掉。记住:它修改的是当前窗口的临时状态,重启 Sublime 后恢复你设置文件里的默认值。
真正容易被忽略的是:不同文件类型可能继承不同设置(比如通过 Settings – Syntax Specific 单独配置了 Python 文件的 draw_white_space),这时候全局设置会被覆盖。查不到效果时,先看右下角语法名称,再打开对应语法的专属设置确认。










