我剛從朋友那裏得到一個源代碼文件。該文件是在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