去除vim中恼人的^M符号

项目中有的人用source insight在windows下编辑程序,有的人用vim在linux下工作,本来是个个人偏好的问题,可是有时候在linux下看用windows程序编辑器的文本头就大了,不是说程序看不懂,而是里面的一大堆^M符号。

那么^M是怎么来的呢?

unix的换行符是0a, 而dos格式下的换行符是Ctrl + 0a, 这里的Ctrl就是0d

如果我们在vim中设置了ff(fileformats)为unix的,当打开dos格式的文本时,0d就会被显示为^M

如果设置ff为dos格式,则不会显示。

但是一个文件中既有dos格式的换行符,又有unix格式的换行符的话,那就比较杂乱了。

这里提供一个方法在vim当中清除^M和末尾空格

首先打开vim

然后, 如果vim的版本比较新,一般ubuntu10.04以上都可以这么做

:e ++ff=unix

:%s/[^[:print:]]$//g    /*清除行末的不可打印字符包括但不限于^M*/

:%s/[[:space]]*$//g    /*清楚行末的空白字符*/

或者

:%s/\s*$//g

都可以。

你可能感兴趣的:(windows,linux,unix,ubuntu,dos,vim)