将Powershell设置为Vim';s shell:命令似乎传递不正确

将Powershell设置为Vim';s shell:命令似乎传递不正确,powershell,vim,Powershell,Vim,我正在尝试在Windows上的GVIM中将Powershell设置为shell 当我做:!ls,我得到一个带有我正在运行的命令的vimrun.exe窗口,它似乎什么也没做。在我关上它之前,它一直是这样 我的.vimrc配置: set shell=powershell set shellcmdflag=-command set shellquote=\" set shellxquote= 没有任何东西干扰它:当我执行:详细设置shell时?壳旗?shellquote?shellxquote?

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

当我做
:!ls
,我得到一个带有我正在运行的命令的
vimrun.exe
窗口,它似乎什么也没做。在我关上它之前,它一直是这样


我的
.vimrc
配置:

set shell=powershell
set shellcmdflag=-command
set shellquote=\"
set shellxquote=
没有任何东西干扰它:当我执行
:详细设置shell时?壳旗?shellquote?shellxquote?
我得到上面设置的值

当我从
%PATH%
中删除
vimrun.exe
时,我得到一个Powershell窗口,该窗口为空(其中没有输出),具有相同的行为

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

当vimshell设置为cmd时,一切也都按预期工作

有些问题可能看似相关,但并不相同:


  • (非常类似的问题,但与
    shell=cmd
    有关,这不是我的情况)

发现问题出在32位powershell中,它在我的系统上无法正常工作(原因尚不清楚)。我将
设置shell=powershell
更改为:

set shell=C:\\WINDOWS\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe
这将启动64位powershell,在我的系统上运行良好