解决VIM中打开文件里有的^M字符 & Linux命令dos2unix
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,产生问题的原因:在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符
千家信息网最后更新 2026年11月02日解决VIM中打开文件里有的^M字符 & Linux命令dos2unix
产生问题的原因:
在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,对于回车符的定义:
windows:0D0A
unix\linux: 0A
MAC: 0D
DOS, Mac 和Unix格式的文件回想计算机的史前史,那时的打字机使用两个字符来开始一个新行。首先是一个字符命令使打印头移回开始位置(回车,),然后另一个字符命令控制向前进纸一行(进纸, ).在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束。UNIX一族决定只用进纸一个字符 来表示行尾。来自苹果阵营的人则把回车 作为换行的标准。MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行 传统。这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题。Vim编辑器则可以识别这些不同格式的文件。
解决方法:
在命令模式下使用正则表达式进行字符全文空替换:
:%s/^M//g
其中"^M"的输入,分别是"Ctrl+v"、"Ctrl+M"键生成的。像^M 这样的在VIM中是控制字符,在查找替换中输入控制字符必须用别的方法,那就是在输入^M时,必须依次在键盘上敲入Ctrl+V和Ctrl+M。
2. 使用sed 工具
$ sed -e 's/\x0D//g' mydebug.c > temp_mydebug.c23
3. 最简单的使用dos2unix工具
$ sudo apt-get install dos2unix$ dos2unix README.txt

参考文档:
如何解决VIM中打开文件里有的^M
vim打开文件有^M结尾
在Vim中查找替换控制字符
关于linux中使用vim打开文件出现^M的解决方法
Linux命令dos2unix简析
dos2unix 下载
字符
文件
命令
控制
方法
编辑器
输入
不同
一行
两个
工具
格式
系统
计算机
问题
古老
一致
必要
昂贵
不可避免
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
上海挚品互联网科技有限公司
保险科技 互联网保险
A股互联网金融科技公司
鸠鸠互联网科技
腾讯阿里互联网科技
网络科技有限互联网
互联网科技上市公司
米客互联网科技
上海卓越科技 互联网
海南科技产业互联网平台
蓝色互联网科技
博兴的互联网电子科技公司
宝灵互联网科技有限公司
坤平互联网科技
银川新华互联网科技学校联系电话
四川慕妮娅互联网科技有限公司
上海科技产业互联网平台
伍佰万互联网科技怎么赚钱
互联网科技企业商标注意事项
有格互联网科技
广州大一互联网络科技有限公司
互联网科技公司起名
河南真二互联网科技有限公司
互联网科技股午盘股票涨跌
深圳前海聚择互联网科技有限公司
汽车互联网创新科技园
互联网科技收购价值
互联网高科技绘画
互联网科技快速发展优美句子