我刚从朋友那里得到一个源代码文件。该文件是在UNIX中创建的。当我使用NotePad ++在Windows中打开它时,每行都有一个额外的空白行。每行有^ M的文本文件
困惑,我下载了Vim并用它来打开文件。然后我在每一行的结尾看到了一堆^ M。
这是什么^ M?你如何防止它被插入?
我刚从朋友那里得到一个源代码文件。该文件是在UNIX中创建的。当我使用NotePad ++在Windows中打开它时,每行都有一个额外的空白行。每行有^ M的文本文件
困惑,我下载了Vim并用它来打开文件。然后我在每一行的结尾看到了一堆^ M。
这是什么^ M?你如何防止它被插入?
这些都是DOS/Windows风格的行结束(以是迂腐的,这就是他们通常所知的现在,但大多数早期的非UNIX操作系统,如CP/M和OS/2也有它们)。在各种联合国,行结局是\n
。在DOS/Windows中,行尾是\r\n
(CR + LF或回车和换行)。 \r
显示为^M
。为了消除他们的vim,我做的:
:%s/^M//
您可以通过执行CTRL + V获得^ M然后CTRL + 中号
如果你是一个UNIX系统,您可以使用dos2unix
。
这是一个回车。 DOS/Windows编辑器倾向于使用回车符和换行符,Unix编辑器喜欢使用换行符。一些像geany和textpad这样的编辑器可以检测到它,并且不会向您显示^ M,并且有些编辑器会让您进行保存,因为选项包括unix style或crlf style。还有一些编译器过去需要在文件末尾加上EOF的问题。
其窗户制品。你有两个选择
为了增加这一点,如果您使用脚本(比如说Python),^ M将不会被正确解释,因此您需要使用\ r。花了我一段时间来弄清楚这一点。 – Flaviu 2012-03-24 11:51:48