繁体   English   中英

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

[英]How can I use gvim for svn commit messages under Windows?

在* nix下我可以将SVN_EDITOR设置为gvim --nofork来完成这个技巧,但这似乎不适用于Windows。 那有什么解决方案吗?

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

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

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

这个答案是为Git编写的,但应该直接适用。

要使其工作,请尝试以下操作。

  1. 创建一个单行批处理文件(名为svn_editor.bat ),其中包含以下内容:
  2. "path/to/gvim.exe" --nofork "%*"
  3. svn_editor.bat放在PATH
  4. 设置SVN_EDITOR=svn_editor.bat

完成此操作后,SVN应正确调用gvim可执行文件。

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

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

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

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

set guioptions+=f

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

:help gui-fork

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM