如何在Windows下使用gvim进行svn提交消息?

时间:2011-01-13 15:20:38

标签: windows svn vim

在* nix下我可以将SVN_EDITOR设置为gvim --nofork来执行此操作,但这似乎不适用于Windows。对此有什么解决方案吗?

3 个答案:

答案 0 :(得分:12)

如果已安装批处理文件(c:\ windows \ gvim.bat),只需将EDITOR设置为gvim -f,批处理文件将处理-f参数并设置no-fork选项

批处理文件中的技巧是START /WAIT path\to\gvim.exe %*(请参阅 / WAIT 参数)。

如果您没有批处理文件,只需使用上面的命令创建一个新文件,并将EDITOR设置为新创建的批处理文件。

答案 1 :(得分:3)

This answer是为Git编写的,但应该直接应用。

要完成这项工作,请尝试以下操作。

  1. 创建一个包含以下内容的单行批处理文件(名为svn_editor.bat):
  2. "path/to/gvim.exe" --nofork "%*"
  3. svn_editor.bat放在PATH
  4. 设置SVN_EDITOR=svn_editor.bat
  5. 完成此操作后,SVN应该正确调用gvim可执行文件。

    注1:gvim的--nofork选项确保它在写入提交消息之前就会阻塞。

    注意2:如果路径中有空格,则需要gvim路径周围的引号。

    注3:如果git传递带空格的文件路径,则需要“%*”周围的引号。

答案 2 :(得分:1)

如果问题是传递参数以防止分叉gvim(你的问题有点模糊),那么你可以创建一个使用所需参数调用gvim的批处理文件,或者你可以简单地将以下内容添加到{{1 } {(vimrc)和gvimrcSVN_EDITOR

gvim.exe

这告诉vim在创建GUI时不要分叉,并且具有不必乱用批处理文件的优点。有关更多信息,请参阅:

set guioptions+=f