解决VIM中打开文件里有的^M字符 & Linux命令dos2unix
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,产生问题的原因:在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
阿里云申请服务器
混合服务器
小学网络安全教育知识竞赛
浪潮超融合服务器虚拟机管理
购物网站的网络安全设计
服务器如何打开设备管理器
福建网络技术服务价格
数据库代码建表有什么注意的点
网络安全防护全面加强
期货平台软件开发
上海浓趣科技互联网科技
林业一张图数据库代码1631
软件开发和移动应用开发
镇海直销软件开发流程
网络安全技师证
帆软控制按钮写入数据库
昊天互联网科技信息服务
电商线上商城软件开发价格
淄博软件开发有哪些公司
数据库精确算符
数据库运维处理问题
服务器里面的任务管理器
火箭视频软件开发
河北校园网络安全
监控录像机添加服务器地址
阿里云手机端怎么登录数据库执行
网络安全教程ed2k
广州优投网络技术服务有限公司
数据库关系的项级
陕西省中小学网络安全课程