vim如何删除^M字符

在windows和*nix不同平台上开发,交换文档时偶尔会出现dos endline问题。例如某个文件的endline被IDE改变后,在git上出现^M问题
导致git版本管理认为每一行都变更了,实际上我们并没有编辑变更内容。这时候需要消除^M字符

方法一、vim编辑删除

如果没有设置fileformat,那么是无法看到^M的

需要在vim运行如下命令
: e ++ff=unix
在查找“\r”就能匹配到^M字符了
更替^M字符
:% s/\r$//g

成功删除


方法二、dos2unix工具

如果有几十上百个文件需要转换,那么用vim一个一个编辑是不实际的,效率低下还容易出错。
在linux上可以使用dos2unix工具进行转换
ubuntu安装如下
$ sudo apt-get install dos2unix

转换命令
$ dos2unix targetFilePath
例如:
$ dos2unix QuestItem.java

批量命令如下:
$ find src -type f | dos2unix

猜你喜欢

转载自blog.csdn.net/SweetTool/article/details/78726353