%s/$/\r/g
%s/\n//g 在Linux 中,"\n"代表换行符,"\r"代表回车符 %s .... /g 这样的搜索替换格式只能保证你在一行中被多次替换,但是一旦你插入了一个行结束符(\n),这个行会中止,当前行不再继续进行替换,因此你显然不能替换为 \n 这样的字符,这样会造成当前行不继续产生后续替换。 至于你能够把 \n 作为搜索 pattern 这显然是允许的。 在模式中使用的是“\n”,而被替换的内容中却不能 使用“\n”,而只能使用“\r”。原因是历史造成的,详情如果有兴趣的话可以查看“:help NL-used-for-Nul”。