Sublime如何显示不可见字符 Sublime查看空格和换行符【设置】

8次阅读

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

Sublime如何显示不可见字符 Sublime查看空格和换行符【设置】

如何在 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 或切换到支持的语法(如 pythonjsON),避免某些语法高亮插件干扰空白符渲染

注意:命令面板切换的是会话级状态,重启 Sublime 后恢复原设置;永久生效必须改用户配置文件

最容易被忽略的是 show_line_endingstranslate_tabs_to_spaces 的协同作用——关掉后者却期待看到 ,或者开了 draw_white_space 却没开 show_line_endings,都会导致“明明设置了却不显示”的困惑。

text=ZqhQzanResources