我正在用 Python 编写一个 VIM 插件。我希望能够运行一个在后台等待事件并在需要时更新缓冲区的函数,而不会冻结整个窗口。那可能吗?
我尝试使用该模块运行一个单独的线程threading
,但这没有帮助。缓冲区中的更改仅在函数返回(并且阻塞线程终止)时反映。
澄清:我有一个功能可能需要几十秒才能返回更新。我需要使用返回的数据更新其中一个缓冲区(并再次调用该函数)。
如何将其称为“异步”而不冻结窗口?如果我可以通过跨越一个单独的进程来做到这一点,我该如何设置 IPC?
另一个更新:如果我创建一个临时文件,有一个单独的进程写入它,并按照此处FileChangedShell
的建议进行观察以自动刷新它怎么办?
(如果没有“它行不通”的答案并且我没有更好的想法,我会在一段时间内尝试这个并更新结果)。