在* nix下,我可以将SVN_EDITOR
设置为gvim --nofork
来做这个伎俩,但是这在Windows下似乎不起作用。 有没有解决scheme?
如果已经安装了批处理文件(c:\ windows \ gvim.bat),只需将EDITOR
设置为gvim -f
,批处理文件将处理-f参数并设置no-fork选项。
批处理文件中的技巧是运行START /WAIT path\to\gvim.exe %*
(请参阅/ WAIT参数)。
如果您没有批处理文件,只需使用上述命令创建一个新文件,然后将EDITOR
设置为新创建的批处理文件。
这个答案是为Git编写的,但应该直接应用。
要做到这一点,请尝试以下操作。
svn_editor.bat
): "path/to/gvim.exe" --nofork "%*"
svn_editor.bat
放在你的PATH
。 SVN_EDITOR=svn_editor.bat
完成这个工作后,SVN应该正确地调用gvim可执行文件。
注1:gvim的–nofork选项可确保在提交消息被写入之前它会被阻塞。
注2:如果路径中有空格,则需要gvim路径的引号。
注3:为了防止git传递带空格的文件路径,需要引用“%*”。
如果问题是传递参数来防止分叉到gvim(你的问题有点模糊),那么你可以创建一个批处理文件,用所需的参数调用gvim,或者你可以简单地把下面的代码添加到你的vimrc
(NOT gvimrc
)指向gvim.exe
SVN_EDITOR
:
set guioptions+=f
这就告诉vim在创建GUI时不要fork,并且不必乱用批处理文件。 有关更多信息,请参阅:
:help gui-fork