show_invisibles 配置必须置于 editor 块内,写在 core 或顶层无效;值为 true(布尔型、无引号),键名全小写带下划线,缩进与冒号后空格须严格符合 yaml 规范。

show_invisibles 配置必须放在 editor 块内
Atom 只认 editor: 下的 show_invisibles: true,写在 core: 里、顶层、或拼错成 showInvisibles 都无效。配置文件 ~/.atom/config.cson 是 YAML 格式,缩进和冒号后空格缺一不可:
editor: show_invisibles: true fontSize: 14 fontFamily: "'Fira Code', monospace"
注意:show_invisibles 是全小写+下划线,值是布尔 true(不加引号),前面不能有中文标点或全角空格。
改完配置没反应?先检查这三件事
常见失效不是 Atom 坏了,而是环境卡点没过:
- Atom 没完全退出——仅关闭窗口不够,必须从 Dock / 任务栏彻底退出再重开
- 当前文件被插件接管渲染,比如某些 Markdown 预览插件会屏蔽
editor层,临时禁用插件验证 - 右下角语言标识是
Plain text,不是实际语法类型(如JavaScript),按Ctrl+Shift+L手动选对 grammar
它只显示基础空白,不渲染零宽字符
show_invisibles 仅识别 ASCII 级别的 (空格)、\t(制表符)、\n(换行符),对应显示为 ·、→、¶。它对 Unicode 控制符完全无感:
-
\u200B(零宽空格)→ 不显示,但可能造成字符串比较失败 -
\uFEFF(BOM)→ 不显示,但可能让 JSON 解析报Unexpected token -
\u00A0(NBSP)→ 不显示,粘贴时容易混入,导致 CSStext-align异常
真要查这类字符,得靠 grep -P "\p{C}" file.js 或 VSCode 的 Gremlins 插件——Atom 原生不支持。
想高亮某段而非全局?只能曲线救国
Atom 没 draw_white_space: "selection" 这类局部开关,但可以这样聚焦问题区域:
- 用
Ctrl+F→ 正则模式 → 输入\s+,快速定位连续空白 - 装
highlight-selected,双击变量名时连带高亮周围空白,一眼看出缩进是否统一 - 启用自带
whitespace插件,保存时自动 trim 行尾空格,状态栏还会提示“x trailing spaces”
真正麻烦的从来不是怎么显示,而是显示出来之后发现:那一堆 · 和 → 里,混着一个 \u200B —— 它不画点,也不报警,就安静地等着你在 CI 里炸锅。











