Atom文本编辑器添加" ^ M"空行

时间:2016-01-25 04:47:40

标签: git atom-editor

Atom文本编辑器将此符号添加到每个空行。

知道什么和为什么?

enter image description here

4 个答案:

答案 0 :(得分:15)

我在Ubuntu Linux上注意到Access-Control-Allow-Origin期间的^ M(回车,换行)。

以某种方式在状态栏的底部选择了CRLF:

CRLF in Atom status bar

我只需点击它并改为LF:

LF in Atom Status Bar

它似乎是逐个文件设置的,因此需要针对每个问题文件进行更改。

在我的情况下,所有的行结尾都被改变了,所以git diff是一片红色的海洋。我使用以下内容来识别“真正的”变化:

git diff

然而,git diff --ignore-space-at-eol 仍会掩盖提交历史中的“真实”更改,因此我:

  1. git commit
  2. 更改了原子的行结尾
  3. git stash save
  4. git commit -am "fix line endings"
  5. 现在行结束已经消失,并且可以在精确的差异上进行提交。

答案 1 :(得分:4)

您是否在Windows下使用Atom文本编辑器? Windows回车为\r\n,而在Unix中为\n ^M0xD\r)是Windows中的回车符 我想,该文件以前是在Unix下保存的(并且每行都有\n),因此Atom根据Windows的要求添加\r

有关详细信息,请参阅thisthis

答案 2 :(得分:2)

检查编辑器底部可能已更改文件行结尾。

通常是Unix的LF

enter image description here

和Windows的CRLF

enter image description here

答案 3 :(得分:1)

我在网上找到的大多数解决方案都涉及使用sed,vi或emacs。我找到了一个直接在Atom(可能是任何文本编辑器)中工作的解决方案,不需要命令行。

选择所有返回,或者在每行的开头获取一个选择器然后删除并点击返回。它可能需要一秒钟,但它将摆脱所有的^ M字符。

这可能会搞砸你的缩进,但你可以自动缩进。如果您需要使用多个文件,这可能效率不高,但对于一个文件来说,这是一个快速而又脏的解决方案。