一直都很喜欢在linux下面用vim处理大文本文档,比emeditor,editplus之类的软件强的不止一点

今天在写一个脚本时,发现个问题,在Windows下面创建的txt文本放到 linux平台下用vim编辑时,文本每一行最后都会出现  ^M符号,  原因是  在DOS/Windows里,文本文件的换行符为\r\n,而在*nix系统里则为\n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M 

在网上找了下处理方法  第一种 用dos2unix命令 这个我没测试  第二种方法用替换  方法

大家注意了 这个方法是不对的  :%s/^M$//g # 去掉行尾的^M       :%s/^M//g # 去掉所有的^M

^M 是在Vim中显示出来的样子, 事实上物理存储的并非一个 ^ 和一个 M.
究其原因, Win上用 “\r\n” 表示换行, Unix 用 \n 表示换行.
真正的转换方式是:   vim中: %s/\r//g

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。