我正在尝试在 Windows 上的 GVIM 中将 Powershell 设置为 shell。
当我这样做时:!ls,我会看到一个vimrun.exe窗口,其中包含我正在运行的命令,该命令似乎什么也没做。它会保持这样,直到我关闭它。
我的.vimrc配置:
set shell=powershell
set shellcmdflag=-command
set shellquote=\"
set shellxquote=
Run Code Online (Sandbox Code Playgroud)
没有什么会干扰它:当我这样做时,:verbose set shell? shellcmdflag? shellquote? shellxquote?我会得到上面设置的值。
当我删除vimrun.exefrom时%PATH%,我得到一个 Powershell 窗口,它是空的(其中没有输出),具有相同的行为。
命令本身很好 - 当我从 cmd 手动执行它时,它按预期工作。
当 Vim shell 设置为 cmd 时,一切都会按预期工作。
有些问题看似相关,但并不相同:
shell=cmd,这不是我的情况)我很高兴能够使用DAC Fx和声明式数据库开发.对我来说,主要的障碍是如何处理跨架构的几个不同版本的复杂数据迁移.在旧世界中,我们可以按顺序运行所有升级脚本,这可以保证在数据迁移时架构处于正确状态.当升级路径是动态的时,这是如何工作的?
例如,假设现有实例上有多个版本的架构(DACPAC1-4):
如果我需要能够支持将DACPAC1-3服务器升级到最新的DACPAC4,我现在必须以足够聪明的方式编写我的部署前和部署脚本,以检测目前哪个DACPAC在目标上并正确处理数据迁移按顺序排列.此外,我不能简单地重复使用我最初编写的天真的部署后脚本,因为它们依赖于模式的中间版本.
提前感谢任何建议!
在Internet Explorer 8(在IE7/8模式下也适用于IE9)中,以下代码提醒object而undefined不是预期的function等等function() { [native code] }.
alert("typeof window.setTimeout = " + typeof window.setTimeout); // object
alert("window.setTimeout.apply = " + window.setTimeout.apply ); // undefined
Run Code Online (Sandbox Code Playgroud)
试试吧:http://jsfiddle.net/BsvZw/5/
为什么会这样?获得实际的解决方法是setTimeout什么?
更新
我正在尝试创建一个包装器setTimeout:
var _oldSetTimeout = window.setTimeout;
window.setTimeout = function ()
{
// ...
return _oldSetTimeout.apply(this, arguments); // this is place where IE 7/8 says 'Object doesn't support this property or method'
// and _oldSetTimeout looks like an empty object …Run Code Online (Sandbox Code Playgroud)