3

我最近开始尝试使用VCSCommand 插件vim与几个颠覆存储库一起工作。每次我从vimusing中进行更改时VCSCommit,又名。组合键 ( \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 pluginfor相关,vim但我没有看到问题所在。此外,我尝试对 , 和 the 的多个版本进行相同的测试,svnvim仍然VCSCommand 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

软呢帽 14

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

中央操作系统 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
4

1 回答 1

0

Vim 有一个名为 的“功能” eol,它通常默认开启。您可以使用:set eol. 如果每个文本文件还没有,这会在每个文本文件的末尾添加一个额外的换行符。这是由于一些较旧的软件(尤其是cron)需要在文件末尾换行才能正确读取它而存在。大多数(如果不是全部)旧软件已更新为没有此要求,但 vim 仍然像以前一样工作。

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

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

于 2013-06-06T19:22:36.803 回答