用法
Vim编译器系统核心是类似:grep运行构建工具并解析产生错误的:make命令.默认构建工具当然是.make,但你可用:compiler.有很多内置编译器,它们不仅仅是编译.另外,也可自己制作.
看从查看dispatch.vim的:make包装器的:Make开始,然后转向更高级抽象.
前台构建
用:Make开始快速任务.接着怎样根据适配器动作.
如果在tmux中,则会在底部打开小拆分.
在Windows上,会生成最小化的cmd.exe窗口.
否则,只是普通旧:make调用.
完成任务后,关闭窗口,加载并解析错误,自动打开快速修复窗口.而不会浪费你注意力.
后台构建
对长时间任务用:Make!,如"运行整个测试套件"等.
如果在tmux或GNU屏幕中,则会在后台创建新窗口.
Windows仍会生成最小化的cmd.exe窗口.
否则,得到看不到,但在后台运行的无头调用.
后台构建的快修窗口不会打断你.相反,可在闲暇时使用:Copen.
还可在仍在运行构建上,使用:Copen来提取和解析已有错误.
切换编译器
如前所述,很容易切换编译器.
:compiler rubyunit
:make test/models/user_test.rb等等,这仍然是所需命令的两倍.另外,它要求你从testrb(可执行)到rubyunit(编译器插件)飞跃.而:Dispatch命令查找可执行文件编译器并自动设置它.
:Dispatch testrb test/models/user_test.rb如果未找到编译器插件,则:Dispatch简单地捕获所有输出.
:Dispatch bundle install与:make一样,可用%表当前文件名.
:Dispatch rspec %:Dispatch命令随后切回编译器,因此可对主要编译器选择:Make,并对次要编译器用:Dispatch.
默认分发
无参时,:Dispatch找b:dispatch变量.可交互式或在自动命令中设置它:
autocmd FileType java let b:dispatch = "javac %"如果未找到b:dispatch,则回退到:Make.
:Dispatch有个很好映射.默认dispatch.vim对:Dispatch<CR>提供了反引<CR>.
聚焦
使用:FocusDispatch(或:Focus)来临时或全局覆盖默认分发:
:Focus rake spec:models现在每个裸:Dispatch调用都会调用:Dispatch rake spec:models.用:Focus!来重置回默认值.
产生交互进程
有时想启动进程,而不必捕获输出或解析错误.这就是:Start:
:Start leinrepl
与:Make不同的是,为了交互新窗口将得到焦点.用:Start!在后台启动它.
支持插件
插件中用dispatch.vim,只需简单检查并使用:Make和:Start的问题.
常问问题
完成后如何让:Dispatch!或:Make!打开快修窗口?
使用:Dispatch或:Make.!的全部要点是在后台运行而不打扰你.










