我知道我可以使用外部程序在 vim 中运行我的代码,但我希望该程序每次都能保持运行并接收我的代码 - 而不是每次都重新运行外部程序。
例如:我在 vim 中编辑我的 Matlab 文件,我想运行它。但是,我希望 matlab 实例位于后台,并且 vim 将在我需要时使用相同的实例来继续运行我的文件,而不是每次都打开一个新的 matlab。
那可能吗?谢谢。
当您可以配置外部程序(或者可能在其周围添加包装器)以在文件被修改时自动重新运行文件时(在 Vim 中通过保存它,或从其他任何地方),实际上没有什么可以从 Vim 触发(除了可能初始程序启动)。这是理想的情况。
在所有其他情况下,您需要从 Vim 到外部程序的通知机制。这是否可能以及如何执行取决于外部程序,但通常这很困难。有一些插件可以在保存时在浏览器中重新加载 HTML 页面,但恐怕没有通用的解决方案。那么最好重新考虑你的整个方法。
我主要对matlab也有这个问题。我所做的是一个映射: - 将编辑的文件名(或其中的一部分)复制到临时剪贴板 - 使用 wmcrtl 切换到 matlab 然后我进入 matlab,所以我只需键入“Ctrl-V”和脚本运行。然后可以自动返回 vim。在此处查看示例: Vim and matlab GUI - Emulate matlab Run (<F5>) with Vim