問題描述:這是前一天晚上在windows下編輯的乙個makefile檔案,今天穿上linux用vim開啟後,在每一行後面都出現了乙個^m的綠色標誌的格式符。
原理分析:windows和linux換行命令格式是不同的。windows下dos格式的換行符為 0d 0a(也就是),其實就顯示為^m;而linux下unix格式的換行符為0a(ascii碼)也就是。當文件在windows下編輯後,在linux上顯示就多了乙個^m(蘋果系統是用作為換行符的)。
刪除方法:
1、在 vim 的命令模式中輸入 :%s/^m$//g 後,回車即會自動刪除該檔案中的所有 ^m 字元。注意: ^m 要用 ctrl + v, ctrl + m 來輸入, 用鍵盤直接敲^和m是不行的! 後面的 $ 代表匹配行尾的內容,最後的 g 則表示每行中匹配到的內容都要置換--全域性替換,否則只替換每行中匹配到的第乙個。
2、指令碼刪除方法:cat file | col -b > file.1 // 這個可以去掉,但是生成檔案裡漢字變亂碼
sed -e 's/.$//g' file // 正確
sed 『s/^m//' file // 正確,但是 ^m = ctrl + v, ctrl + m
附錄:^m 另乙個會出現的情況是檔案在 windows 和 linux 系統間通過 ftp 傳送。這是建議方法是:強行設定 ftp 方式為 ascii 方式就可以了啊! 當然也可以通過軟體 dos2unix 搞定。
備份防遺忘。
vim 開啟文件提示
vim e492 not an editor command m 使用vim開啟檔案一直提示錯誤 在windows下拷貝vimrc到linux,執行vim命令後,出現錯誤 原因 linux的檔案換行符為 n,但windows卻非要把 r n作為換行符,所以,vim在解析從windows拷貝到linu...
vim開啟檔案有 M結尾
當用vim編輯器,開啟乙個檔案時,可能會出現每行的末尾都有 m 符號.這很可能是由於原始檔不是用vim編輯的.可以用以下方法快速的解決 在命令模式下 輸入 s m g 然後,回車即可替換 注,其中 m 的輸入,分別是 ctrl v ctrl m 鍵生成的 方法2 使用vi開啟文字檔案 vi dos....
vim開啟文件和多文件編輯
一 vim開啟文件 1.vim 文件1名 文件2名 2.vim 進入vim後使用 e 文件名 開啟文件 3.多文件編輯的命令如下 n 編輯下乙個文件。2n 編輯下兩個文件。n 編輯上乙個文件。注意,該方法只能用於同時開啟多個文件。e 文件名 這是在進入vim後,不離開 vim 的情形下開啟其他文件。...