我正在使用一个插件从Vim(更具体地说是MacVim)中编译LaTeX。对于较大的项目,编译过程可能需要大约30秒,在此期间编辑器被冻结——编译是由命令"call TeX_RunLatex()"启动的。
Vim中是否可以在后台异步运行"call TeX_RunLatex()"(或任何其他函数)?
异步执行是Vim中一个渴望已久的功能,但由于Vimscript本质上是单线程的,因此很难实现。在Windows下异步执行外部程序页面列出了外部命令(vim-latex插件最终执行)的方法。还有几个插件可以帮助实现这一点(在该页面的"另请参阅"下列出)。
我建议向插件的作者提出这个请求,因为如果不修改插件本身,很难实现这一点。
虽然vim本身并不支持异步操作,但我发现Tim Pope的vim调度插件非常有用,尤其是对于您的用例,因为它提供了:make
命令的变体。它使用各种"适配器"来调度异步操作;我最喜欢的是tmux适配器。