我可能误解了问题,但在使用PS ISE时最接近vim能力的方式是安装Windows版gvim74并创建以下函数:
function vim
{
if ($args)
{
start-process 'C:\Program Files (x86)\Vim\vim74\vim.exe' $args
}
else
{
start-process 'C:\Program Files (x86)\Vim\vim74\vim.exe'
}
}
很不幸,ISE与控制台输入不兼容,所以我能做的最好的就是在新的PS窗口中启动vi。虽然不是完美的解决方案,但我可以像在非Windows环境下一样经常使用"vim fileToEdit"。
#一行代码
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("edit with Vim",{$cur=$psISE.CurrentFile; saps "C:\Program Files (x86)\vim\vim74\gvim.exe" $cur.FullPath -wait; $psise.currentpowershelltab.files.remove($cur); $psISE.currentpowershelltab.files.add($cur.fullpath) },'Ctrl+Alt+v')
你必须先保存它,否则它将不会被删除。
(也许您要添加$psise.CurrentFile.Save()
函数)
(对于永久的ISE更改,您必须将其放入$profile中...)
*saps --> start-process别名