解决VIM中打开文件里有的^M字符 & Linux命令dos2unix
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,产生问题的原因:在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符
千家信息网最后更新 2025年02月11日解决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安全错误
数据库的锁怎样保障安全
阿里用的是什么数据库
关闭开机服务器
网络安全技术特性有可控性
网络技术考证有用吗
泗洪个性化网络技术保养
软件开发手工单元测试
软件开发工程师有等级吗
游戏本用于软件开发怎么样
关系数据库pk和fk
一梦江湖四周年服务器多久开
阳新互联网络科技
警察网络安全和执法
银行网络安全工资
鹤岗市网络安全教育的视频
网络技术专业与计算机专业
云服务器与物理服务器各自的优势
软件开发工作经验简历
软件开发和管理规范
程序网站共用数据库
网络安全 红队
python能做软件开发
不同软件开发模型的优缺点
迁安咨询网络技术不二之选
mfc 数据库
李沧区管理软件开发系统
中软酒店管理系统服务器
工业控制网络技术有关的论文
点播视频服务器配置
人体生物力学软件开发
岳阳软件开发培训学校