2017-07-26 159 views
0

我已经从Windows记事本复制了一段代码并粘贴到我的服务器文件中。 它不显示在vi编辑器的任何^ M字符,但是当我做git的差异也显示了在改变被粘贴^M显示在git diff中,但不是vi编辑器

的地方^ M字符我试图修复它

  1. 通过搜索^在服务器上的文件M个模式,但没能找到vi编辑器使用:%s/^M//g
  2. 也试过dos2unix命令,但它同时使用gitdiff因为它显示了整个文件,因此转换整个文件没有用这个模式
+0

https://stackoverflow.com/questions/2188737/how-do-i-search-for-n-without-a-preceding-删除r-in-vim – ElpieKay

+0

Vi正在帮助和隐藏dos/unix行结尾的差异。你知道^ M是哪里,是正确的,所以在vi中删除它周围的字符,然后重新输入它们。 – Mort

回答

1

^M是在Windows上使用的CR字符(与LF一起用于编码端点)。 显示它在Vim的类型:

:e ++ff=unix 

然后你就可以用删除这些字符进行。

也可以搜索他们的Vim \r:%s/\r//g

+0

“:e ++ ff = unix”在完整文件中引入^ M字符 – developer

+0

“:e ++ ff = unix”在完整文件 中引入^ M字符,并从文件中删除所有^ M字符, git diff中的文件 直接在vi编辑器中完成的任何更改也会在git diff中显示^ M字符(不在vi编辑器中)。 我只是想删除^ M在git diff中 – developer

相关问题