^J 没有找到有向字母

^J digraph not found

我 运行 :registers 并注意到每行末尾有一个 ^J

""   def^J
"0   abc^J
"1   def^J

以前从未见过它,我做了一些研究并找到了描述二合字母的 this 页面。

在我希望找到 ^J 的地方,我找到了 ^@,当我 运行 :digraphs.

时,我也找到了同样的东西

右边的描述告诉我这是一个换行符,考虑到 ^J 在行尾,这是有道理的,但是为什么两个源都将 LF 映射到 ^@ if ^@ 已分配给 NULL 有向字母。

这是打字错误吗?

更新: LF 将 运行 定为 NULLsource

显然 ^J 是换行符的正确表示,而 ^@ 表示 NULL。文档问题可能与以下事实有关:尝试通过任何方法逐字插入换行符,最终都会插入空字符。

我在插入模式下测试了以下内容:

^V^J
^V010
^Vx0a
^Vo012
^Vu000a
^KLF

它们都具有相同的插入空字符的结果,正确显示为 ^@。这可能导致了文档错误。

编辑:在了解到 Vim 使用换行符作为空字符的内部表示后,这种文字插入的限制就不那么令人惊讶了,正如 yolenoyer 的评论中所指出的那样。