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

posted @ 2012-08-14 09:54  Panzhibin  阅读(249)  评论(0编辑  收藏  举报