在 Sublime Text 中显示空格、制表符和换行符需设置 "draw_white_space": "all" 和 "show_line_endings": true;空格显示为·,制表符为→(需 translate_tabs_to_spaces 为 false),换行符以¶显示。

如何在 Sublime Text 中显示空格、制表符和换行符
Sublime Text 默认不显示不可见字符,但可以通过内置设置开启。核心是启用 draw_white_space 选项,它控制空格( )、制表符(\t)和换行符(\n)的可视化渲染。
操作路径:菜单栏 → Preferences → Settings,在右侧用户设置(User)中添加或修改:
{
"draw_white_space": "all"
}
"draw_white_space" 支持三个值:
-
"none":完全不显示(默认) -
"selection":仅在选中文本时显示空白符 -
"all":始终显示所有空白符(包括行尾空格、制表符、换行符)
为什么换行符没显示?检查 draw_white_space 和 draw_indent_guides
即使设为 "all",换行符(¶)仍可能不出现——因为 Sublime 默认用换行线(line break marker)表示 \n,但它依赖另一个设置:draw_indent_guides 并非必需,但真正影响换行符号显示的是 show_line_endings。
要让换行符以 ¶ 形式明确标出,需额外启用:
{
"draw_white_space": "all",
"show_line_endings": true
}
show_line_endings 是独立开关,控制是否在行尾绘制 ¶ 符号;它不影响空格/制表符,只管换行。
空格和制表符的视觉区分:tab_size 和 translate_tabs_to_spaces
显示出来的空格和制表符样式不同,但容易混淆。关键取决于两个设置:
-
tab_size:决定一个\t显示为几个空格宽(默认 4),但不会改变其本质——它仍是制表符,只是渲染宽度可调 -
translate_tabs_to_spaces:若为true,按 Tab 键插入的是空格而非\t;此时所有缩进都由空格组成,draw_white_space显示的全是小圆点(·),没有箭头(→)
也就是说:制表符显示为 →,空格显示为 ·,前提是 translate_tabs_to_spaces 关闭(false)且文件中确实存在 \t 字符。
临时查看 vs 永久生效:命令面板快捷方式
不想改配置也能快速查看——用命令面板(Ctrl+Shift+P / Cmd+Shift+P)输入:
-
Toggle White Space:切换draw_white_space状态(相当于临时设为"all"或"none") -
Set Syntax: Plain Text或切换到支持的语法(如 Python、JSON),避免某些语法高亮插件干扰空白符渲染
注意:命令面板切换的是会话级状态,重启 Sublime 后恢复原设置;永久生效必须改用户配置文件。
最容易被忽略的是 show_line_endings 和 translate_tabs_to_spaces 的协同作用——关掉后者却期待看到 →,或者开了 draw_white_space 却没开 show_line_endings,都会导致“明明设置了却不显示”的困惑。










