说到 要去除^M, 我们首先 必须明白 这^M从 哪里来的。
^M 从哪里来的?
windows 和 linux 里 的一个 差异 便是 : 在windows 下 换行 的表示 是用 \r\n(0A0D) 表示的, 而在linux 下, 只用\n (0D) 就可以表示了。
因此 将 windows下的文件 拷贝到 linux下 总会多出 ^M.
这会造成 什么影响呢?
通常情况下, 如果你的.vimrc 是 通过由 windows 下拷贝过来的, 那么 就会遇到 E488多余的尾部字符 错误。
如何看到文件里的 ^M 呢?
cat -A filename 就可以看到Windows下的断元字符 ^M
解决的方法如下:
第一种方法:
最简单用下面的命令:
dos2unix filename
第二种方法:
sed -i 's/^M//g' filename
#注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M
第三种方法:
#vi filename
:1,$ s/^M//g
^M 输入方法: ctrl+V ,ctrl+M
第四种方法:
#cat filename |tr -d '\r' > newfile
#^M 可用 \r 代替
注意 这里 Ctrl+M 中 M 是大写的。