Windows 7上的gvim - vimrun.exe没有运行命令

时间:2014-01-03 19:04:45

标签: vim windows-7

在新的Windows 7上,vim命令实际上并没有运行,但是gvim echo是试图运行的命令。

在vim中,命令:!dir打开一个vimrun.exe终端并显示以下内容:

C:\WINDOWS\system32\cmd.exe --login -c "dir"
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\USERNAME>

窗口就像这样,直到我输入exit并将控制权返回给vim。

C:\Users\USERNAME>exit
Hit any key to close this window...

我怎样才能在Windows 7上运行这样的vim命令?我以前在Windows XP上没有任何问题。

它影响多个程序,例如diff.exe和其他程序。

附加信息是最近编译的vim版本,内置了python和ruby支持。

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 18 2013 13:15:06)
MS-Windows 32-bit GUI version with OLE support
Compiled by J4ROCH@ACEINA
Huge version with GUI.  

提前致谢,

1 个答案:

答案 0 :(得分:2)

传递给--login -c的{​​{1}}参数是错误的。它必须是cmd.exe。有些东西正在改变/c。此外,Vim 7.4版本应将'shellcmdflag'命令括在括号中,而不是引号,因此dir标志也会关闭。

这可能是由于明确的错误配置(在'shellxquote'中,或在插件中),或者是因为Vim用于检测正确的shell环境的各种启发式失败。检查

~/.vimrc

并阅读:verbose set shell? shellcmdflag? shellxquote? 以了解有关启发式的更多信息。