vim: 文件格式之行结束符^M; - No such file or directory;passwd; dos2unix

本文介绍了Unix、Apple和Windows系统中不同的行结束符标准导致的文件格式问题,特别是在复制文件时遇到的^M字符。在Vim中,可以通过设置fileformats选项转换文件格式,或者使用`:set endofline`命令处理行结束符。此外,还提到了dos2unix工具和其他解决方法,以及如何在Vim中显示^M。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

vim帮助文档

历史

之前的老设备,(电传)打字机,使用两个步骤完成“切换到新行”(其实这个和矩形对点路径有关):1. 先回车(将打印枕头,返回到起始位置;或称将光标回到一行的起始位置);2. 再换行(将打印纸向上移一行,或称,将光标移至下一行);有专门的两个字符来表示这两个操作:\r , \n;
计算机出现之后,由于存储的限制。同时进入计算机后,只是显示,没有实际物理的操作,开始将这两个操作合符并成一个字符来代表。但是在计算机实际实现时,出现了多样化:
Unix群体决定只使用\n 代表回车换行操作;
Apple群体,决定使用\r代表回车换行;
而Windows,则保持原样。

问题

这样就带来了一个问题,就是如果一个文件在操作系统之间进行复制的时候,就会导致无法辨识的行结束符。这就是为什么,有时候使用老的vi编辑器,编辑从Windows复制来的文件有特殊字符^M的原因(这个特殊的字符,其实是\r的显示体)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzhan017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值