vim編輯檔案去除 M及解決辦法

2021-08-08 15:51:46 字數 990 閱讀 7577

漲姿勢……

有兩種情況,會出現開啟的檔案都顯示^m符號:

第一種情況

vim被配置為fileformat=unix,而你開啟的檔案都是dos格式的。unix格式的換行符為0a(ascii碼)也就是,dos格式的換行符為 0d 0a(也就是),其實就顯示為^m。下面是詳細講解:

dos, mac 和unix格式的檔案

回想計算機的史前史,那時的打字機使用兩個字元來開始乙個新行。首先是乙個字元命令使列印頭移回開始位置(回車,),然後另乙個字元命令控制向前進紙一行(進紙,).在計算機誕生之初,儲存裝置十分昂貴。於是有人就提出沒有必要用兩個字元來表示一行的結束。unix一族決定只用進紙乙個字元來表示行尾。來自蘋果陣營的人則把回車作為換行的標準。ms-dos(和微軟的windows)仍然決定沿用古老的回車換行傳統。

這也意味著如果把檔案從乙個系統移到另乙個不同的系統,你就會遇到與換行相關的問題。vim編輯器則可以識別這些不同格式的檔案。你可以在』fileformats』選項裡指定你希望vim能自動識別的格式的集合。

下面的這個命令就可以讓vim能自動識別unix格式和ms-dos格式:

:set fileformats=unix,dos
把這句話放在.vimrc檔案中,一般情況就都能ok。

第二種情況

你的文字中既有unix的換行符,又有dos的換行符,那麼vim會認為你開啟的是unix的,所以,那些dos的換行符就會出現惱人的^m。不過這種情況不常見。辦法是:

1)若你的vim版本大於7.1,並想用dos顯示和儲存,如下語句:

:e ++ff=dos
:set ff=dos

:%s/\r\+$//e

:set ff=unix

:%s/\r\+$//e

**

linux 下 M 的解決辦法

個人推薦 dos2unix filename 這個方式最簡單,高效,尤其是在整個工程都是從windows裡搬過來的情況。直接doc2unix project 就可以了 正文 在linux下,不可避免的會用vim開啟一些windows下編輯過的文字檔案。我們會發現檔案的每行結尾都會有乙個 m符號,這是...

ubuntu無法安裝vim解決辦法

今天想使用以下vim,發現ubuntu預設是vi,但是用起來不順手,想換vim。安裝了一下,發現無法成功安裝vim apt get install vim 正在讀取軟體包列表.完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊.完成 有一些軟體包無法被安裝。如果您用的是不穩定 unstable 發行...

Ajax快取及解決辦法

ajax快取的問題 解決辦法有如下幾種 1 在服務端加 header cache control no cache,must revalidate 如php中 2 在ajax傳送請求前加上 anyajaxobj.setrequestheader if modified since 0 3 在ajax...