VIM 换行符替换
转载:
用 VIM 编辑文本文件,想在每一行的换行之前,添加一个字符,比如 “;”。
想到替换命令:
:%s/\n/;\n/g
结果总是出错。
后来找到解决方案:
:%s/\n/;\r/g
有人总结的结论:
When searching: \n is newline, \r is CR (carriage return = Ctrl-M = ^M)
When replacing: \r is newline, \n is a null byte (0×00).
意思是:
字符串查找时,”\n” 是换行,”\r” 是回车,也就是经常会看到的 ^M(备注-1)。
字符串替换时,”\r” 是换行,’\n” 是空字符(0×00)。
更多细节可以参考
备注-1:
清除所有 ^M 的替换命令
:%s/CTRL+V CTRL+M//g
就是 Control 键+V,然后再 Control 键 + M,就变成了 ^M,然后替换为空就可以了。