文本编辑器;Unicode;零宽度非连接字符

文本编辑器;Unicode;零宽度非连接字符

我需要编辑包含 Unicode 字符的文本文件(在 ReStructuredText 中输入到 Sphinx)。我非常有信心大多数文本编辑器可以正确存储和显示大多数 Unicode 字符,但零宽度空格 (U+200B) 是一个问题。

如果您不熟悉此字符,它就像没有连字符的自由连字符。也就是说,如果它位于一行内,它是不可见的。如果它位于可能换行的位置,它允许换行,但它仍然是不可见的。(行末没有连字符或任何其他附加字符。)

我需要将它用于文本中出现的长路径名,以使行长保持合理均匀。如果没有它,我会得到一个非常短的行,该行位于路径名之前,无法放在同一行上,也无法跨换行符分开。例如:C:\Users\joanne\​Documents\Marketing\​​2022Q1\WesternRegion\​​overall_plan_working_copy.odf。或 ~/git/vendors/​​CompuShock/AR2021C/​​transmission/tests/​​group_3/qa_test_plan.rst。(更改浏览器的列宽以使这些路径名跨换行符。想象一下如果它们不能被折断,这些行会是什么样子。)

问题是,在我使用的编辑器 Notepad++ 中,ZWS 的显示与预期完全一致:不可见。这对于阅读来说还好,但对于编辑来说却很糟糕。唯一能判断是否存在 ZWS 的方法是按左或右箭头键一次移动一个字符。如果您必须按两次该键才能将插入点向左或向右移动一个字符,则它正在穿过不可见的 ZWS。

设置“视图 > 显示符号 > 显示所有字符”没有帮助。ZWS 仍然不可见。

相反,当 Microsoft Word 配置为“显示所有字符”时,它会将 ZWS 显示为大矩形内的一个小矩形。如果我的编辑器可以做到这一点,那么这个或类似的东西就没问题了。

我需要一种方法来让 Notepad++(以及其他文本编辑器)显示 ZWS,或者可以显示 ZWS 的类似文本编辑器。有什么想法吗?

答案1

我需要一种方法让 Notepad++(以及其他文本编辑器)显示 ZWS

如果“显示不可见字符”没有显示,则该工具无法向您显示它们。

许多工具都可以请求新功能,您可以请求它。

作为一种解决方法,您可以将所有 ZWS 替换为可见的内容,然后在检查了所需内容后,再将它们改回来。

答案2

从 8.5 版本开始,Notepad++ 有一个显示零宽度字符的选项。

它位于“视图 - 显示符号 - 显示非打印字符“。

相关内容