- <李>
产生问题的原因:
,,在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^ M符号,这是因为DOS下的编辑器和linux编辑器对文件行末的回车符处理不一致,对于回车符的定义:
,,,windows: 0 d0a
,,,unix/linux: 0
,,,麦克:0 d
DOS, MAC和Unix格式的文件回想计算机的史前史,那时的打字机使用两个字符来开始一个新行,首先是一个字符命令使打印头移回开始位置(回车,& lt; CR>),然后另一个字符命令控制向前进纸一行(进纸,& lt; LF>)。在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束.UNIX一族决定只用进纸一个字符& lt;线Feed>来表示行尾。来自苹果阵营的人则把回车& lt; CR>作为换行的标准.MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行& lt; CR> & lt; LF>传统。
- <李>
解决方法:
李>- <李>
李>
:% s/M ^//g
这样的在VIM中是控制字符,在查找替换中输入控制字符必须用别的方法,那就是在输入时,必须依次在键盘上敲入和。
2。,
美元sed - e ' s/\ x0D//g mydebug。c比;temp_mydebug.c23
3。,最简单的使用dos2unix工具
$ sudo apt-get dos2unix安装 美元dos2unix README。txt
参考文档:
如何解决VIM中打开文件里有的M ^
VIM打开文件有^ M结尾
在VIM中查找替换控制字符
关于Linux中使用VIM打开文件出现^ M的解决方法
Linux命令dos2unix简析
dos2unix下载