Notepad++显示所有隐藏字符吗?

277

在Notepad++中,我已经设置了“用2个空格替换制表符”。

在编写Python代码时,我从网上复制粘贴了一些代码,它的缩进看起来是正确的。但是运行代码时出现了缩进错误,最终通过删除所有行首的“可见”空格并再次插入相同数量的空格来解决了这个问题。

可能是基于 Scintilla 的Notepad++不能显示所有特殊字符,而是将它们显示为空格吗?是否有设置可以解决这个问题?

7个回答

431

是的,它可以。启用此功能的方式取决于您使用的Notepad++版本。 在较新的版本上,您可以使用:

菜单 查看显示符号 → *显示所有字符

或者

菜单 查看显示符号显示空格和制表符

(感谢下面bers评论和bkaid答案提供的更新位置。)


在旧版本中,您可以查找:

菜单 查看显示所有字符

或者

菜单 查看显示空格和制表符


15
这取决于编码方式,我认为它不会显示所有的空格符号,例如如果你尝试使用不间断空格符号U+00A0或零宽不换行空格符号U+FEFF。 - ClearBlueSky85
1
一些像 \u0000 这样的字符,如何显示它? - JaskeyLam
4
注意:NP++不是完美的:我正在使用一些工具来生成文件,但某些字符未显示出来,箭头键需要按两次才能跳过它。 :(注:该句话意思为作者在使用NP++时遇到了问题,有些字符无法正常显示,导致箭头键需要按两次才能跳过这些字符,使得编辑体验不够流畅。 - Jester
1
我无论如何也看不到 ‎ 字符。 - Uri
3
N++即使启用了此选项,也不会显示所有字符。请参见:https://dev59.com/GnRA5IYBdhLWcg3w9izq#71603418 - 4wk_
显示剩余2条评论

105

在Notepad++的新版本(目前为5.9)中,此选项位于:

View->Show Symbol->Show All Characters
或者
View->Show Symbol->Show White Space and Tab

在我尝试识别隐藏空格中的特殊字符的一个文件中,Notepad ++ 显示为 NUL。那个实际的符号是什么? - goofyui
@goofyui - 我知道已经很久了,但可能是这个链接: https://www.compart.com/en/unicode/U+2400 (在此处查看整个块:https://www.compart.com/en/unicode/block/U+2400) - Mike Christiansen

17

使用 Hex 编辑插件仔细检查您的文本。在您的情况下,可能会有一些控制字符进入您的文本。通常,您会查看空格,并且它将显示为 32 32 32 32,或对于 Unicode 为 32 00 32 00 32 00 32 00。如果没有大量代码,您可以通过这种方式找到问题所在。

从此处下载 Hex 插件; http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/


7

不,它不能。至少不是原生的,需要使用插件。

是的,N++ 几乎可以显示所有的非打印字符,但并非全部,即使选中了“显示所有字符”选项。

例如,U+200BU+FEFFU+A0 都不会显示,即使切换到“显示所有字符”模式。


让我们来看一下这个示例,来自于一个在线工具一个能够显示所有字符的在线工具


这是在N++中的样子:

Notepadd++ does NOT display all char


NB:Notepad++可以“看到”这些字符,因为如果你使用箭头键移动光标,它将在第3行的每个句点后再按下一个按键后才移动。但是,即使使用“显示所有字符”选项,它也不会显示它们。

免责声明:这个问题是关于空格的,但标题更广泛,在搜索“在N++上显示所有字符”时,这是首个结果。


2

对于非打印字符,您可以执行以下操作:

  • 如果您能够识别光标移动需要使用两个箭头键才能到达的字符,则只需选择该字符。
  • 按下 Ctrl-F
  • 现在,您可以计算、替换甚至标记所有此类字符。

1
是的,不幸的是,您无法关闭它们或任何其他特殊字符。在“查看”>“显示符号”下的选项仅打开或关闭制表符、空格、行尾等内容。因此,如果您想阅读一些带有文本的晦涩编码-实际上需要在其他地方查找。我还尝试更改编码,但ASCII未列出,并且即使这样也不能使混乱不可见。

2
这显然是Notepad++目前的一个严重限制。 - RockPaperLz- Mask it or Casket

0
在Notepad++ v8.4.8(以及可能的早期版本)中,需要使用插件。使用Converter插件(v4.5作者Do Ho)的ASCII到HEX转换器(插件->转换器->ASCII到HEX)可以显示这些字符,并对我有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接