在notepad++中,我设置了“将制表符替换为2个空格”。

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

是否有可能基于闪烁的notepad++不显示所有特殊字符,而是显示为空格?有什么设置可以解决这个问题吗?


当前回答

用十六进制编辑器插件再次检查您的文本。在你的情况下,可能有一些控制字符已经悄悄进入你的文本。通常你会看到空白,它会说32 32 32 32 32,或者Unicode 32 00 32 00 32 00 32 00 32 00。如果没有大量的代码,您可能会以这种方式发现问题。

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

其他回答

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

如果你能识别字符,光标带2个方向键 要移动,只需选择该字符。 做Ctrl-F 现在你可以数数了 替换甚至标记所有这些字符

在更新版本的notepad++(当前5.9)中,此选项位于:

View->Show Symbol->Show All Characters

or

View->Show Symbol->Show White Space and Tab

用十六进制编辑器插件再次检查您的文本。在你的情况下,可能有一些控制字符已经悄悄进入你的文本。通常你会看到空白,它会说32 32 32 32 32,或者Unicode 32 00 32 00 32 00 32 00 32 00。如果没有大量的代码,您可能会以这种方式发现问题。

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

不,不是。至少不是原生的没有插件。

是的,n++确实显示了几乎所有不可打印的字符,但不是全部,即使打开了“显示所有字符”选项。

例如,U+200B或U+FEFF或U+A0不显示,即使切换到“显示所有字符”。


让我们以一个在线工具为例:


下面是它在n++中的样子:


注意:notepad++确实“看到”这些字符,因为如果你用方向键移动光标,它不会在第3行每个点之后再移动一次。但它并没有显示它们,即使有“显示所有字符”选项。

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

是的,不幸的是,你不能关闭它们,或任何其他特殊字符。\View\Show Symbols下面的选项只打开或关闭制表符、空格、EOL等。所以,如果你想读一些晦涩难懂的代码,里面有文本,你实际上需要看看其他地方。我还考虑了改变编码,ASCII没有被列出,而且无论如何也不会让混乱变得不可见。