我最近开始试用 VCSCommand plugin对于vim与多个颠覆存储库一起工作。每次我使用 VCSCommit
从 vim
提交更改时,又名。组合键 (\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.
------------------------------------------------------------------------
所以这似乎与 vim
的 VCSCommand 插件
有关,但我没有看到问题所在。此外,我尝试使用多个版本的 svn
、vim
和 VCSCommand 插件
进行相同的测试,但仍然得到相同的行为。
版本
- SVN 客户端操作系统:Fedora 14 和 CentOS 6
- SVN 服务器操作系统:Windows Vista
- SVN 服务器版本:1.6.2
- VCSCommand 插件: vcscommand-1.99.46.zip , ver: 1.99.46 date: 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
最佳答案
Vim 有一个名为 eol
的“特性”,通常默认情况下是打开的。您可以使用 :set eol
打开它。如果每个文本文件还没有的话,这会在每个文本文件的末尾添加一个额外的换行符。这是由于一些较旧的软件(最著名的是 cron
)需要在文件末尾换行才能正确读取它。大多数(如果不是全部)这个旧软件已经更新为没有这个要求,但 vim 仍然像以前一样工作。
您可以使用 :set noeol
关闭此功能。它会删除文件末尾的单个换行符(如果有的话)。这很好,如果您不想在文本文件末尾换行,或者在您的情况下,在提交评论的末尾。把 set noeol
放在你的 .vimrc
文件的顶部,这个设置会一直打开,但是你所有的文件都会在文件的最后失去换行符只要 noeol
设置有效。
一种选择是使用 :set binary
,它会关闭文本处理,并单独保留换行符。不过,它确实禁用了其他一些与文本相关的功能。查看documentation查看如果您选择此选项哪些功能将消失。你也可以把这个设置放在你的 .vimrc
文件中。
关于svn - VCSCommand 不断向我的所有提交添加一个额外的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896442/