我正在尝试在Windows上的GVIM中将Powershell设置为shell。
当我:!ls
时,我得到一个vimrun.exe
窗口,其中包含我正在运行的命令,这似乎什么都不做。它一直保持这种状态,直到我关闭它。
我的.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时,一切都按预期工作。
有些问题可能看似相关,但不一样:
shell=cmd
,这不是我的情况)答案 0 :(得分:1)
原来问题是32位PowerShell在我的系统上运行不正常(还没弄清楚原因)。我将set shell=powershell
更改为:
set shell=C:\\WINDOWS\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe
启动64位PowerShell,在我的系统上运行正常。