原因:
Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r')
Linux下的文本文件的每一行结尾,只有一个回车符('\n')
Mac下的文本文件的每一行结尾,只有一个一个换行符('\r')
所以在 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