vi 打开文件,行末尾有^M

原因:

  Windows下的文本文件的每一行结尾,都有一个回车符(' ')和一个换行符(' ')

  Linux下的文本文件的每一行结尾,只有一个回车符(' ')

  Mac下的文本文件的每一行结尾,只有一个一个换行符(' ')

  所以在 Linux 下打开Windows 编辑过的文件,就会在行末尾显示^M

  这个 ^M 在 Linux vi 下 是 ctrl + v  ctrl + m

解决方法:

  

  字符串替换

  vi 命令行输入 : %s/^M//g

  回车即可替换 。

  % 指匹配整个文件,s 是置换的意思,^M 注意用 ctrl + v  ctrl + m 来输入,$ 表示匹配行尾的内容,g 表示每行中匹配到的内容都要置换。

  

效果:

  

方法二:

  :set fileformat=unix
  :w

原文地址:https://www.cnblogs.com/SZxiaochun/p/7428079.html