项目中有的人用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
都可以。