Svn 如何在vi中的cygwin上将默认EOL更改为unix

Svn 如何在vi中的cygwin上将默认EOL更改为unix,svn,cygwin,vi,Svn,Cygwin,Vi,我需要手动更改网站上托管项目的svn日志。我在Win8.1上使用sliksvn(1.9.5)和cygwin(2.8.0-1),其中vi实际上是vim 8.0.542。我的问题是我无法摆脱DOS EOL角色。具体来说, 568$ svn log -r31 ------------------------------------------------------------------------ r31 | XXX | 2017-05-01 13:34:34 +1000 (Mon, 01 May

我需要手动更改网站上托管项目的svn日志。我在Win8.1上使用sliksvn(1.9.5)和cygwin(2.8.0-1),其中vi实际上是vim 8.0.542。我的问题是我无法摆脱DOS EOL角色。具体来说,

568$ svn log -r31
------------------------------------------------------------------------
r31 | XXX | 2017-05-01 13:34:34 +1000 (Mon, 01 May 2017) | 1 line

Separate style from content
------------------------------------------------------------------------
569$
但是

注意,有一个额外的空行是由r32的讨厌的^M引起的。我编辑日志的方式是
svnpropedit-r32--revpropsvn:log--editor cmd'vi-b'

这将显示隐藏的字符。在vi中,我使用
:set ff
检查临时
svn prop.tmp
是否为unix,并在删除后以unix模式保存\r\n。但是日志仍然有额外的空行。我怎样才能摆脱它?谢谢。

要删除vi中的一行,请使用命令
dd
。通常,要转换删除
\r
的文件,您应该使用
d2x
尝试但无效。我怀疑这不是vi而是Cygwin的问题
569$ svn log -r32
------------------------------------------------------------------------
r32 | XXX | 2017-05-24 08:58:20 +1000 (Wed, 24 May 2017) | 2 lines

Check grammar

------------------------------------------------------------------------
570$