用法

​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​​.​​!​​的​​全部要点​​是在​​后台运行​​而不打扰你.