VCSCommand不断为我的所有提交添加一个空行

时间:2012-12-15 21:37:00

标签: svn vim vim-plugin vcscommand

我最近开始尝试使用VCSCommand plugin vim来处理几个subversion存储库。每次我使用vimVCSCommit提交更改,也就是说。关键组合( \ cc ),我不断将这些额外的空白行添加到我的提交中。

以下是一个例子:

------------------------------------------------------------------------
r72 | smingolelli | 2012-12-15 15:58:17 -0500 (Sat, 15 Dec 2012) | 2 lines

Trying from Fedora 14 w/ svn 1.6.17 and vim 7.3 1-315 w/ svn:eol-style=native for compile.sh.

------------------------------------------------------------------------

如果我从命令行执行相同的提交:

------------------------------------------------------------------------
r73 | smingolelli | 2012-12-15 16:06:44 -0500 (Sat, 15 Dec 2012) | 1 line

Trying from Fedora 14 w/ svn 1.6.17 and vim 7.3 1-315 w/ svn:eol-style=native for compile.sh from command-line.
------------------------------------------------------------------------

所以对于VCSCommand plugin来说似乎是vim,但我不知道问题是什么。另外,我尝试使用多个版本的svnvimVCSCommand plugin进行相同的测试,但仍然有相同的行为。

版本

  • SVN客户端操作系统:Fedora 14& CentOS 6
  • SVN服务器操作系统:Windows Vista
  • SVN服务器版本: 1.6.2
  • VCSCommand插件: vcscommand-1.99.46.zip,版本:1。99。46日期:2011-12-06

Fedora 14

  • 尝试过SVN客户端版本: 1.6.17
  • 尝试了VIM版本: 7。3(2010年8月15日,编译时间为2011年9月21日09:27:09)包含的补丁:1-315

CentOS 6

  • 尝试过SVN客户端版本: 1.6.11,1.6.19 - (注意: VCSCommand插件无法与svn1.7 +& VIM 7.3一起使用)
  • 尝试了VIM版本: 7.2? &安培; 7。3(2010年8月15日,2012年12月15日编译14:08:39) 包含的补丁:1-393

1 个答案:

答案 0 :(得分:0)

Vim有一个"功能"名为eol,默认情况下通常处于启用状态。您可以使用:set eol打开它。如果每个文本文件还没有,则会在每个文本文件的末尾添加一个额外的换行符。这是因为一些较旧的软件(最值得注意的是cron)需要在文件末尾添加换行符才能正确读取。大多数(如果不是全部)这个旧软件已经更新,没有这个要求,但是vim仍然可以像以前一样工作。

您可以使用:set noeol关闭此功能。它会删除文件末尾的一个换行符(如果有的话)。如果您不想在文本文件的末尾添加换行符,或者在您的情况下,在提交注释结束时,这很好。将set noeol放在.vimrc文件的顶部,此设置将一直处于开启状态,但只要{{1} {{1},所有文件都会在文件的最后丢失换行符设置生效。

一种选择是使用noeol,它会关闭文本处理,并保留单独的换行符。但它会禁用其他一些与文本相关的功能。如果您选择此选项,请查看documentation以查看哪些功能将会消失。您也可以将此设置放在:set binary文件中。