vim ^M 符号去除
在Windows下写的文本文件丢到Linux下,用Vi打开,换行符会变成 ^M
原因
new line of DOS/Windows.
new line of dos/win: 0X0d0a
new line of linux/unix: 0X0a
解决方法
方法1:可以用dos2unix或者使用editor pico來轉換成unix格式, 把它去掉.
方法2:
Dos/windows 使用了一种很愚蠢的方案来结束文件的每一行:居然使用了两个符号RETURN/LINEFEED,而Unix like OS就明智的多,使用一个NEWLINE(就是LINEFEED)。因此,如果在Linux下面阅读Dos/Windows文件,每一行会显示一个讨厌的 ^M,怎么办?
在vim里面打:
[ESC]:%s/[Ctrl-v][Enter]//g
就可以了。
解释一下:
Ctrl-v的作用是,使得接着输入的回车键被认为是一个特殊字符,而不是vim命令的结束。
注意 ^M 的输入用? Ctrl+v,再按回车,或者是 Ctrl+v, Ctrl+m。
也可以
[ESC]:%s/\r//g