去除vim ^M符號

來源:互聯網
上載者:User

標籤:os   使用   for   檔案   問題   ef   line   as   window   

有兩種情況,會出現開啟的檔案都顯示^M符號:
1. vim被配置為fileformat=unix,而你開啟的檔案都是dos格式的。unix格式的分行符號為0A(ascii碼)也就是<LF>,dos格式的分行符號為 0D 0A(也就是<CR><LF>),<CR>其實就顯示為^M。下面是詳細講解:
DOS, Mac 和Unix格式的檔案
回想電腦的史前史,那時的打字機使用兩個字元來開始一個新行。
首先是一個字元命令使列印頭移回開始位置(斷行符號,<CR>),然後另一個字
符命令控制向前進紙一行(進紙,<LF>).
在電腦誕生之初,存放裝置十分昂貴。於是有人就提出沒有必要
用兩個字元來表示一行的結束。UNIX一族決定只用進紙一個字元<Line
Feed>來表示行尾。來自蘋果陣營的人則把斷行符號<CR>作為換行的標
准。MS-DOS(和微軟的Windows)仍然決定沿用古老的斷行符號換行<CR><LF>傳
統。
這也意味著如果把檔案從一個系統移到另一個不同的系統,你就會遇
到與換行相關的問題。Vim編輯器則可以識別這些不同格式的檔案。
你可以在‘fileformats‘選項裡指定你希望Vim能自動識別的格式的集
合。下面的這個命令就可以讓Vim能自動識別UNIX格式和MS-DOS格式:
:set fileformats=unix,dos
把這句話放在_vimrc中,一般情況就都能OK。
2. 你的文本中既有unix的分行符號,又有dos的分行符號,那麼vim會認為你開啟的是unix的,所以,那些dos的分行符號就會出現惱人的^M。不過這種情況不常見。辦法是:
1)若你的vim版本大於7.1,並想用dos顯示和儲存,如下語句:
:e ++ff=dos
2)若你的vim版本小於等於7.1,又想把文章按照dos格式顯示和儲存,如下語句:
:set ff=dos
:%s/\r\+$//e
3)若你的vim版本小於等於7.1,又想把文章按照unix格式顯示和儲存,如下語句:
:set ff=unix
:%s/\r\+$//e

去除vim ^M符號

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.