關于回車與換行
很久以前,老式的電傳打字機使用兩個字符來另起新行。一個字符把滑動架移回首位 (稱為回車
,ASCII碼為0D),另一個字符把紙上移一行 (稱為換行,ASCII碼為0A)。當計算機問世以后,存儲器曾經非常昂貴。有些人就認定沒必要用兩個字符來表示行尾。UNIX 開發者決定他們可以用一個字符來表示行尾,Linux沿襲Unix,也是。Apple 開發者規定了用.開發 MS-DOS以及Windows 的那些家伙則決定沿用老式的.
三種行尾格式如下:
unix : \n
dos : \r\n
mac : \r
這意味著,如果你試圖把一個文件從一種系統移到另一種系統,那么你就有換行符方面的麻煩。
因為MS-DOS及Windows是回車+換行來表示換行,因此在Linux下用Vim查看在Windows下寫的代碼,行尾后“^M”符號。
在Vim中解決這個問題,很簡單,在Vim中利用替換功能就可以將“^M”都刪掉,鍵入如下替換命令行:
:%s/^M//g
注意:
上述命令行中的“^M”符,不是“^”再加上“M”,而是由“Ctrl+v”、“Ctrl+M”鍵生成的,或者Ctrl+v,再按回車。
或者使用這個命令:
:% s/\r//g
http://m.tkk7.com/lihao336/archive/2010/06/30/324872.html