我有两个相同的文件,但它们的大小不同。这让我想到文件中有特殊字符,即 ^M
在第六章中
:set list
不显示 ^M 字符但是
cat -A
确实显示字符。
此外,VI 仅在出现在行尾时才显示特殊的 ^M 字符。
什么给了?
最佳答案
我不知道 vi,但你在 Vim 中看到了同样的东西:
如果每一行都是 \r\n
分隔的,那么 Vim 默认设置 fileformat=dos
并相应地加载文件。由于 \r
是行分隔符的一部分,因此它不会出现在可编辑文本中。 Vim 通过在加载文件时在状态栏中显示 [dos]
来让您知道发生了这种情况。
如果您使用 :e++fileformat=unix
将文件作为 UNIX 文件重新读取,则 \r
将不再被视为行分隔符,并且您将开始在数据中看到它们(有或没有 :set list
)。
注意: fileformat
是 Vim 的一个特性,在 vi 中不可用。
关于linux - VI :set list vs.猫-A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24617707/