这些符号在Vim中代表什么意思?

15

我很难理解在我的文本编辑器Vim中看到的符号。 我看到像^@^A^M^F这样的符号。 这是什么意思? 是否有这些符号及其含义的结构化列表?

尝试通过谷歌搜索是死路一条,因为谷歌不会搜索“^@”。


8
以下是需要翻译的内容:http://vimdoc.sourceforge.net/htmldoc/digraph.html#digraph-table这是Vim文本编辑器中可以使用的特殊字符表。特殊字符由两个普通字符组成,第一个字符是反斜杠(\),第二个字符可以是任何其他字符。例如,要插入一个希腊字母Ω,可以输入"\O"和"<BS>"键(<BS>键用于删除反斜杠)。特别注意:当您在命令行上输入特殊字符时,请确保将其放在引号或反斜杠中,否则它们可能会被shell解释器解释为其他意义的字符。 - Josh Lee
+1 给双字母组合参考页面!Vim 很棒,但我在文档中经常找不到东西。 - Carl Smotricz
谢谢,这个链接给了我我想要的结构化列表。 - user292303
1
谷歌将不会搜索"^ @"。请尝试使用SymbolHound - FocusStealer
3个回答

16

这些符号是控制字符。 ^@ 是一个NUL或者0字符,^M 是一个CR或者字符 13,等等。这种表示法实际上是在说你只看到了一个@M或其他字符的低5位。

ASCII表可以帮助你辨别大部分字符,例如这个:链接。在表格中找到你在vim中看到的字符,它的代码就在最左边的一列中。


7
当你在Vim中看到大量的二进制字符时,你需要小心,确保正确编辑文件,不要损坏任何内容。通常处理具有大量二进制字符的文本文件是不寻常的。
你是否试图编辑一个二进制文件?你应该在加载文件之前设置Vim的"binary"选项(或使用"vim -b"启动),否则Vim会转换换行符并执行其他不需要的转换。
你是否正在编辑一个具有错误换行符的文本文件?这种情况的症状是在行末出现"^M"或"^J"字符。探索"fileformat"和"fileformats"选项,以帮助Vim以适当的换行符保存文件。如果你正在使用版本控制,你可以指示它将换行符转换为平台相关的格式,以使每个人都满意。
你是否看到大量的"^@"(空)字符?也许这个文件是用UTF-16编码的,而Vim没有正确解码。例如,使用":e ++enc=utf-16"重新加载它。
要查看一个字符表示的值,请将光标放在其上并键入"ga"。

0
如果你看到类似的东西
^@F^@i^@l^@e

它是NULL的表示,显然有点棘手从Vim中退出。这篇文章可能会提供更多信息。


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