温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

解决VIM中打开文件里有的^M字符 & Linux命令dos2unix

发布时间:2020-07-20 21:38:04 来源:网络 阅读:5479 作者:xjhznick 栏目:系统运维
  • 产生问题的原因:

    在linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,对于回车符的定义:

      windows:0D0A
      unix\linux: 0A
      MAC: 0D

    DOS, Mac 和Unix格式的文件回想计算机的史前史,那时的打字机使用两个字符来开始一个新行。首先是一个字符命令使打印头移回开始位置(回车,<CR>),然后另一个字符命令控制向前进纸一行(进纸,<LF>).在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束。UNIX一族决定只用进纸一个字符<Line Feed>来表示行尾。来自苹果阵营的人则把回车<CR>作为换行的标准。MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行<CR><LF>传统。这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题。Vim编辑器则可以识别这些不同格式的文件。
  • 解决方法:

  1. 在命令模式下使用正则表达式进行字符全文空替换:


:%s/^M//g

其中"^M"的输入,分别是“Ctrl+v”、“Ctrl+M”键生成的。像^M 这样的在VIM中是控制字符,在查找替换中输入控制字符必须用别的方法,那就是在输入^M时,必须依次在键盘上敲入Ctrl+VCtrl+M

解决VIM中打开文件里有的^M字符 & Linux命令dos2unix

2.  使用sed 工具

$ sed -e 's/\x0D//g' mydebug.c > temp_mydebug.c23

3.  最简单的使用dos2unix工具

$ sudo apt-get install dos2unix
$ dos2unix README.txt

解决VIM中打开文件里有的^M字符 & Linux命令dos2unix

参考文档:

如何解决VIM中打开文件里有的^M

vim打开文件有^M结尾

在Vim中查找替换控制字符

关于linux中使用vim打开文件出现^M的解决方法


Linux命令dos2unix简析

dos2unix 下载

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI