【问题标题】:Vim: run code in the same external program each timeVim:每次都在同一个外部程序中运行代码
【发布时间】:2012-10-22 13:05:39
【问题描述】:

我知道我可以使用外部程序在 vim 中运行我的代码,但我希望该程序每次都保持运行并接收我的代码 - 而不是每次都重新运行外部程序。

例如:我在 vim 中编辑我的 Matlab 文件,我想运行它。但是,我希望 matlab 实例位于后台,并且 vim 将在我需要时使用同一个实例来继续运行我的文件,而不是每次都打开一个新的 matlab。

这可能吗? 谢谢。

【问题讨论】:

  • 在您的 matlab 实例调用末尾添加一个“&”。
  • 我看不懂,这只是正常打开matlab,并没有运行我的代码...
  • 如何将 Vim 设置为 Matlab 的编辑器,并从 Matlab 中运行 Vim,而不是反过来呢? mathworks.es/es/help/matlab/matlab_prog/…
  • 问题是这只是在 vim 中打开我的文件,但我想要一些集成:至少,运行文件等。

标签: matlab vim


【解决方案1】:

当您可以配置外部程序(或者可能在其周围添加一个包装器)以在文件被修改时自动重新运行文件(在 Vim 中通过保存它,或从其他任何地方),实际上没有什么可以从 Vim 触发(可能除了最初的程序启动)。这是理想的情况。

在所有其他情况下,您需要从 Vim 到外部程序的通知机制。这是否可能以及如何执行取决于外部程序,但通常这很困难。有一些插件,例如保存时在浏览器中重新加载 HTML 页面,但恐怕没有通用的解决方案。那么最好重新考虑你的整个方法。

【讨论】:

  • 我想为实现 vim 命令的 Matlab 找到一个键绑定 xml 会“更容易”......但我找不到。
  • 我不太喜欢其他应用程序中的vi键模式。一旦你迷上了 Vim,你就会想要这一切,而不仅仅是 95% 的仿真,但有例外和警告。这对我有用的唯一地方是在带有 Vimperator / Pentadactyl 的 Firefox 中,但那是因为我只导航,而不是在那里实际编辑。
【解决方案2】:

我主要是 matlab 也有这个问题。 我所做的是一个映射: - 将编辑后的文件名(或其中的一部分)复制到临时剪贴板 - 使用 wmcrtl 切换到 matlab 然后我进入 matlab,所以我只需键入“Ctrl-V”,脚本就会运行。 然后可以自动返回 vim。 请参阅此处的示例: Vim and matlab GUI - Emulate matlab Run (<F5>) with Vim

【讨论】:

  • 以防万一,您也在寻找此功能:我喜欢 matlab gui 的错误和警告。但是,有时,当您单击它们时,它不会打开 vim。您必须覆盖 opentoline.m 函数才能在正确的文件和行处打开 vim 服务器。我希望它有所帮助。
猜你喜欢
  • 1970-01-01
  • 2021-12-08
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
  • 1970-01-01
  • 2018-12-19
  • 1970-01-01
相关资源
最近更新 更多