将Powershell设置为Vim的shell:命令似乎没有正确传递

时间:2016-03-20 00:33:36

标签: powershell vim

我正在尝试在Windows上的GVIM中将Powershell设置为shell。

当我:!ls时,我得到一个vimrun.exe窗口,其中包含我正在运行的命令,这似乎什么都不做。它一直保持这种状态,直到我关闭它。

vimrun.exe output

我的.vimrc配置:

set shell=powershell
set shellcmdflag=-command
set shellquote=\"
set shellxquote=

没有任何事情干扰它:当我:verbose set shell? shellcmdflag? shellquote? shellxquote?时,我得到上面设定的值。

当我从vimrun.exe中删除%PATH%时,我会看到一个Powershell窗口,它只是空的(没有输出)并具有相同的行为。

命令本身很好 - 当我从cmd手动执行它时,它按预期工作。

当Vim shell设置为cmd时,一切都按预期工作。

有些问题可能看似相关,但不一样:

1 个答案:

答案 0 :(得分:1)

原来问题是32位PowerShell在我的系统上运行不正常(还没弄清楚原因)。我将set shell=powershell更改为:

set shell=C:\\WINDOWS\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe

启动64位PowerShell,在我的系统上运行正常。