在后台执行Vim中的函数

时间:2014-09-04 11:45:18

标签: vim

我正在使用plugin从Vim内部编译LaTeX(更具体地说是MacVim)。对于较大的项目,编译过程可能需要大约30秒,在此期间编辑器被冻结 - 编译由命令“call TeX_RunLatex()”启动。

Vim是否可以在后台运行“call TeX_RunLatex()”(或任何其他功能)异步

2 个答案:

答案 0 :(得分:2)

异步执行在Vim中是一个非常渴望的功能,但很难,因为Vimscript本质上是单线程的。 Execute external programs asynchronously under Windows页面列出了外部命令(vim-latex插件最终执行的命令)的approches。还有一些插件可以帮助解决这个问题(在#34下列出;另请参阅"在该页面上)。

我建议使用插件的作者提出此请求,因为如果不修改插件本身就很难实现这一点。

答案 1 :(得分:0)

虽然vim本身不支持异步操作,但我发现Tim Pope的vim-dispatch插件非常有用,特别是对于你的用例,因为它提供了:make命令的变体。它使用各种“适配器”来调度异步操作;我最喜欢的是tmux适配器。