在* nix下我可以将SVN_EDITOR
设置为gvim --nofork
来执行此操作,但这似乎不适用于Windows。对此有什么解决方案吗?
答案 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编写的,但应该直接应用。
要完成这项工作,请尝试以下操作。
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传递带空格的文件路径,则需要“%*”周围的引号。
答案 2 :(得分:1)
如果问题是传递参数以防止分叉gvim(你的问题有点模糊),那么你可以创建一个使用所需参数调用gvim的批处理文件,或者你可以简单地将以下内容添加到{{1 } {(vimrc
)和gvimrc
点SVN_EDITOR
:
gvim.exe
这告诉vim在创建GUI时不要分叉,并且具有不必乱用批处理文件的优点。有关更多信息,请参阅:
set guioptions+=f