`
YuHuang.Neil
  • 浏览: 186928 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MAC中如何删除文件中的^M字符

阅读更多
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类的版本控制软件之后,由于之前版本的文件并不存在这个符号,所以开发成员在使用diff工具来查看改动的内容的时候问题出现了,使用diff工具对边两个版本的文件发现这两个文件的每一行都被显示为修改过,严重影响了diff的功能。

所以,在把修改过的文件提交到svn之前,我们最好使用vim软件打开,并在命令行模式下使用:%s/\r//g把所有的^M符号给去掉。这样当我们提交文件之后就可以避免^M符号对diff工具的影响了。

这句命令的意思是:%指匹配整个文件,s是指置换的意思,\r代表^M(或者可以使用Ctrl+V Ctrl +M来输入^M,即也可以使用命令:/s^M$//g来达到同样的目的),M后面的$代表匹配行尾的内容,最后的g表示每行中匹配的内容都要进行替换。




分享到:
评论

相关推荐

    windows和linux、Mac系统换行规则的区别.docx

    反之,Windows下的文件在Linux或Mac中打开时,可能会在每行末尾看到^M字符,这是回车符在这些系统中未被识别的结果。 在文本编辑器如Vim中,当打开跨平台文件时,编辑器通常能够检测并适配不同的换行方式。例如,...

    Meslo LG M Regular for Powerline.ttf

    【Meslo LG M Regular for Powerline.ttf】是一个专门为Powerline设计的字体文件,适用于程序员和IT专业人士。在本文中,我们将深入探讨这个字体的特点、用途、安装方法以及它与Powerline的结合,以便更好地理解其在...

    GTMBase64文件下载

    3. GTMBase64.m:这是一个源文件,实现了在GTMBase64.h中声明的函数或方法。在这个文件中,我们可以看到具体的编码和解码算法的实现。 使用GTMBase64,开发人员可以方便地将二进制数据(如图片、音频文件或加密的...

    MATLAB使用文本文件.pdf

    在MATLAB中,文本文件是数据交换和存储的常用格式,因为它们易于创建、阅读和理解。本篇文章将深入探讨MATLAB如何使用文本文件进行数据存取,特别是侧重于读取技巧。 首先,我们需要理解文本文件和二进制文件的区别...

    Mac之vim普通命令使用

    通过这些命令,可以在一个Vim实例中打开多个文件,每个文件显示在一个单独的窗口中。 #### 四、缓冲区管理 在Vim中,文件内容首先被加载到内存中的缓冲区,而不是直接修改磁盘上的文件。这样可以避免在编辑过程中...

    无线麦芯片KT0616M驱动

    《无线麦芯片KT0616M驱动技术详解》 无线麦克风芯片在现代音频设备中扮演着至关重要的角色,特别是在各种智能设备、会议系统、...无论是在智能硬件还是专业音频设备中,KT0616M都能为用户提供高质量的无线音频体验。

    Linux 每日小技巧

    去除Vim文件中的^M字符 处理从Windows系统复制过来的文本文件时,可能需要去除其中的`^M`字符(即回车符),可以采用以下几种方法: 1. 使用`dos2unix`工具转换文件格式。 2. 使用`s`命令在`sed`中替换所有`^M`。 3...

    matlab对文件目录操作及读写文件.docx

    在MATLAB中,对文件和目录的操作是编程中不可或缺的一部分,尤其对于数据存储和读取。以下是一些关键知识点: 1. **filesep**: 这是一个内置函数,返回当前操作系统所使用的目录分隔符。在Windows上是反斜杠`\`,在...

    mac和xcode快捷键

    对于成对出现的文件(如.m和.h文件),可以快速切换。 #### 七、调试与运行 **调试操作:** - **Command + Y:** 以调试方式运行程序。进入调试模式,逐步执行代码。 - **Command + Alt + P:** 继续(在调试中)。...

    PyPI 官网下载 | scipy-1.5.2-cp36-cp36m-macosx_10_9_x86_64.whl

    **PyPI 官网下载 | scipy-1.5.2-cp36-cp36m-macosx_10_9_x86_64.whl** 在Python的生态系统中,PyPI(Python Package Index)是官方的第三方库分发平台,它允许开发者上传并分享他们的Python模块和软件包。`scipy`是...

    centos安装中文字体,解决中文乱码

    在提供的压缩包中,有一个名为`simsun.ttc`的文件,这是宋体的TrueType Collection字体,适用于Windows和Mac系统,但在Linux系统中可能需要进行一些转换才能使用。对于.sfc或.ttf格式的字体文件,我们可以使用`ttf2...

    批量修改文件名、修改文件 创建时间、修改时间、访问时间、音频转换为MP3

    而在Mac和Linux系统中,通常需要借助于终端和特定的命令。需要注意的是,篡改这些时间可能会对文件的法律或历史价值产生影响,因此应谨慎操作。 音频转换为MP3是一种常见的格式转换需求,因为MP3格式具有广泛的兼容...

    Linux和windows中的换行符差异问题.docx

    反之,Windows文件在Linux或Unix环境下打开,可能会看到每行末尾有^M符号,这是因为这些系统无法识别Windows的回车字符。在文本编辑器中,这种差异可能需要特殊处理,例如使用`unix2dos`和`dos2unix`命令进行文件...

    回车,换行,tab,空格

    反过来,Windows系统中的文件在Unix/Mac系统中打开时,由于Unix/Mac只识别LF,每一行结束后会多出一个^M符号,这是因为CR字符没有被识别。 除了回车和换行,Tab(水平制表符)和空格也是文本中常见的控制字符。Tab...

    matlab开发-查找和替换选择

    1. **启动查找和替换**:首先,打开MATLAB编辑器并加载你要编辑的.m文件。然后,点击编辑器顶部菜单栏的"编辑"选项,选择"查找"或按下快捷键`Ctrl+F`(在Mac上为`Cmd+F`)来启动查找对话框。同样,选择"替换"或使用`...

    tr的详细用法tr的详细用法

    - `-d`:删除 string1 中出现的所有字符。 - `-s`:压缩 string1 中连续出现的重复字符为单个字符。 - **string1_to_translate_from**:要从中翻译的字符串。 - **string2_to_translate_to**:要翻译成的字符串。 ...

    PyPI 官网下载 | rapidfuzz-1.1.1-cp27-cp27m-macosx_10_9_x86_64.whl

    在文件列表中只有一个文件:`rapidfuzz-1.1.1-cp27-cp27m-macosx_10_9_x86_64.whl`,这正是我们所需要安装的软件包。用户可以通过Python的包管理工具pip来安装这个文件,命令通常如下: ```bash pip install ...

Global site tag (gtag.js) - Google Analytics