Vim换行乱码(^M)处理
Vim打开文件的时候有时候会出现行尾有多余的字符“^M”,出现这个符号的原因是文件中使用多种换行符混合使用造成的。
换行符(Line-Ending)主要有三种, CR, LF, CRLF.
CR(\r)是Mac采用的方式,
LF(\n)是UNIX/Linux采用的方式,
CRLF(\r\n)是DOS/Windows采用的方式.
Vim打开一个文件和写入一个文件的时候,它需要知道如何把换行符号写入到缓冲区,所以在一个buffer中一般只有一种换行符,具体是什么换行符号,取决于fileformat的设置,如果没有设置的话,它可能会根据fileformats这个设置来决定最后的fileformat。
Vim中可以通过以下命令设置换行符:
set fileformat=dos
当出现多种换行符的时候我们可以全能替换命令统一换行符
:%s/\r\(\n\)/\r/g