立刻显示·→¶需按ctrl+shift+p或菜单「视图→显示符号→显示所有字符」,启用后·表空格、→表tab、¶表行尾;该设置为文档级,新文件默认不继承,须改config.xml中showsymbol值为2并重启才全局生效;\u200b、\ufeff等控制符始终不可见,需hex-editor插件辅助识别。

Notepad++怎么立刻显示·→¶这些基础符号
按 Ctrl+Shift+P(不是 Ctrl+Shift+8,旧版快捷键已废弃),或点击菜单栏「视图 → 显示符号 → 显示所有字符」。启用后立即可见:· 表示空格(U+0020)、→ 表示 Tab(U+0009)、¶ 表示行尾符(Windows 下对应 \r\n,Linux/macOS 下只渲染 \n 对应的 ¶)。
这个开关是文档级的:关掉再打开同一文件,状态保留;但新建或打开其他文件不会继承——别误以为“开了全局就生效”。
如何让所有新文件默认显示·→¶
Notepad++ 没有图形界面选项控制全局行为,必须手动改配置:
- 完全退出 Notepad++
- 用管理员权限打开
config.xml(路径通常是C:\Program Files\Notepad++\config.xml或便携版根目录) - 搜索
<guiconfig name="ShowSymbol" value="0"></guiconfig> - 把
value="0"改成value="2"(1只显示行尾符,2才是「所有字符」) - 保存并重启 Notepad++
注意:已打开的旧文件不会自动刷新,需右键标签页 →「重新加载」,或切换标签页再切回来才生效。
为什么\u200B、\uFEFF、\x01这些字符还是看不见
Notepad++ 的「显示所有字符」功能只覆盖有限 ASCII 控制符:\t、\r、\n、普通空格、不间断空格(U+00A0)等。像以下字符它压根不渲染任何符号:
-
\u200B(零宽空格) -
\uFEFF(BOM) -
\x01(SOH)、\x03(ETX)、\x1A(SUB)
它们在编辑器里就是纯空白,肉眼无法识别,却可能引发 JSON parse error、IndentationError、Git 提交异常等。验证是否存在?Ctrl+F → 切换查找模式为「扩展」→ 输入 \x01 或 \u200B 尝试定位。真要可视化调试,得用 Hex-Editor 插件,或换 VS Code + 「Hex Editor」扩展。
日常该用「显示所有字符」还是「显示空格与制表符」
多数编码场景下,推荐用 Ctrl+Shift+Space 或「视图 → 显示符号 → 显示空格与制表符」,它只显示 · 和 →,不带 ¶、↵ 等干扰符号,更适合 Python/YAML/JSON 等靠缩进定义结构的语言。
而「显示所有字符」真正有用的地方是排查换行符混用(CRLF vs LF)、确认末尾是否有多余空格、或检查行尾是否干净——别把它当成日常开启项,开着反而容易忽略关键缩进问题。
最常被忽略的一点:开了显示,不代表你真在看。缩进错误几乎从不在报错那一行,而在它上面三行里藏着一个悄悄混入的 →。











