明天在Mac机器上使用了FlexBuilder编辑了一个源代码文件,保存后使用vim命令去打开时发觉系统手动在每一行的结尾添加了^M符号,似乎^M在Linux/Unix中是十分常见的,也就是我们在Win中见过的/r回车符号。因为编辑软件的编码问题linux命令行启动浏览器,个别IDE的编辑器在编辑完文件以后会手动加上这个^M符号。看上去对我们的源代码没有任何影响,虽然并不然,当我们把源代码文件CheckIn到svn之类的版本控制软件以后,因为之前版本的文件并不存在这个符号,所以开发成员在使用diff工具来查看改动的内容的时侯问题出现了,使用diff工具对边两个版本的文件发觉这两个文件的每一行都被显示为更改过,严重影响了diff的功能。
所以,在把更改过的文件递交到svn之前linux安装,我们最好使用vim软件打开,并在命令行模式下使用:%s/r//g把所有的^M符号给去除。这样当我们递交文件以后就可以防止^M符号对diff工具的影响了。
这句命令的意思是:%指匹配整个文件,s是指置换的意思,r代表^M(或则可以使用Ctrl+VCtrl+M来输入^Mlinux命令行启动浏览器嵌入式linux,即也可以使用命令:/s^M$//g来达到同样的目的),M旁边的$代表匹配行尾的内容,最后的g表示每行中匹配的内容都要进行替换。
明天在Mac机器上使用了FlexBuilder编辑了一个源代码文件,保存后使用vim命令去打开时发觉系统手动在每一行的结尾添加了^M符号,似乎^M在Linux/Unix中是十分常见的,也就是我们在Win中见过的/r回车符号。因为编辑软件的编码问题,个别IDE的编辑器在编辑完文件以后会手动加上这个^M符号。看上去对我们的源代码没有任何影响,虽然并不然,当我们把源代码文件CheckIn到svn之类的相关教程结束。