我看到两个相同的文件,但它们的大小不同。这让我想到文件中有特殊字符,即^ M
在VI
:set list
不显示^ M个字符,但
cat -A
会显示字符。
此外,VI仅在行结束时显示特殊的^ M字符。
是什么给出了?
答案 0 :(得分:1)
我不了解vi,但你在Vim看到同样的事情:
如果每一行都是\r\n
- 分开,则Vim默认设置fileformat=dos
并相应地加载文件。由于\r
是行分隔符的一部分,因此它不会显示在可编辑文本中。通过在加载文件时在状态栏中显示[dos]
,Vim可以让您知道这种情况。
如果您使用:e ++fileformat=unix
将该文件重新读取为UNIX文件,则\r
将不再被视为行分隔符,并且您将开始在数据中看到它们(有无:set list
)。
注意:fileformat
是Vim功能,在vi中不可用。