需将 draw_white_space 设为 "all" 才能稳定显示空格(·)和制表符(→),且须在用户设置中配置;换行符(¶)需单独启用 show_line_endings: true;临时查看可用命令面板切换空白字符显示。

怎么让 Sublime 显示空格(·)和制表符(→)
必须改用户设置里的 draw_white_space,设成 "all" 才能稳定显示空格为小圆点(·)、制表符为右箭头(→)。这不是菜单勾选一下就完事的功能——它是个配置项,只写在 Preferences → Settings 的右侧(用户设置)才生效。
-
"none":默认值,啥也不显示,缩进问题全靠猜 -
"selection":只在你选中文本时亮一下,漏掉未选中的缩进行,排查不彻底 -
"boundary":跳过纯空格行首尾的空格,容易忽略行尾多余空格 -
"all":唯一能同时、持续显示所有空格、Tab 和行尾空白的选项
改完保存,当前已打开的文件可能需要手动重绘(比如切换标签再切回来),不用重启编辑器。
为什么开了 draw_white_space 还看不到换行符(¶)
换行符(\n)的显示和空格/Tab 是两套独立机制。开 draw_white_space 不会触发换行符显示,必须单独加 "show_line_endings": true。
- 这个设置控制状态栏是否显示
CRLF或LF,同时让文档里每行末尾出现段落符号¶ - 它不依赖
draw_white_space,开了就显示,关了就隐藏,互不影响 - 如果你在调试跨平台换行问题(比如 Git 提示 LF/CRLF 混用),这个开关比空格显示还关键
临时查看 vs 永久设置:什么时候该用命令面板
按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P)调出命令面板,输入 toggle whitespaces 可以快速开关空白字符显示——但它只作用于当前会话,关掉 Sublime 就恢复原状。
- 适合快速确认某段代码有没有混用 Tab 和空格,又不想改长期偏好
- 注意:这个命令不会启用
show_line_endings,所以换行符依然不显示 - 如果团队共用一套风格,建议直接写进用户设置,避免每次都要手动开
常见踩坑:明明设了 "all",但 Tab 还是看不见
有两个隐藏前提没满足,draw_white_space 就无法渲染 Tab 符号:
- 文件里真得有原始
\t字符——如果项目已全局设"translate_tabs_to_spaces": true,那按 Tab 键插入的是空格,自然没有 Tab 可显示 -
"translate_tabs_to_spaces"必须为false,否则 Sublime 会把所有 Tab 自动转成空格,连底层数据都没了,显示无从谈起 - 检查当前文件编码和换行符类型,某些老旧文件(如含
\r\n且未被正确识别)可能导致渲染异常
真正要揪缩进问题,得确保 draw_white_space、show_line_endings、translate_tabs_to_spaces 三者状态对齐,少一个都可能漏掉关键线索。










