如何在没有 Octave IDE 的情况下运行 Octave 代码类似于 Python?

问题描述

上下文:当我使用 Python + matplotlib 时,我可以在任何文本编辑器(如 Sublime Text)中编写代码,执行 CTRL+B,然后文本输出显示在文本编辑器的“构建结果”面板中,并且可以选择在新的 GUI 窗口中呈现图形/绘图。
在幕后,文本编辑器在我们执行“构建”时调用 python myscript.py,就是这样。

它很简单,而且工作起来很轻松。


现在我正在尝试对 GNU Octave 执行相同的操作:编写 test.m 代码(例如 this one)。然后从我最喜欢的文本编辑器(而不是 Octave IDE)或命令行运行它。我试过了:

  • octave test.m:该图在 100 毫秒内显示,然后消失!不行

  • octave --persist test.m:情节保持显示,这没问题……但这部分不好:它打开了一个 IDE(我不想要,因为我想继续使用我常用的文本编辑器!),请参阅背景窗口:

    enter image description here

如何让 GNU Octave 的行为符合预期:标准输出中的文本输出(在终端或文本编辑器的“构建结果”面板中)和新窗口中的绘图输出? 重要提示不生成 IDE 窗口。

我觉得奇怪的是这种行为不是认行为。不应该吗?


编辑:解决

octave-cli test.m

k = plot(...)
waitfor(k)

解决方法

为了产生类似的效果,我在终端中运行命令行界面 octave-clioctave --no-gui,在不同的终端中运行 vim
不完全是您要找的东西,但 matplotlib 是一个 python 模块,而八度是与您的编辑器分开的程序。

查看两个终端和图表的示例,所有这些都在单独的窗口中。

enter image description here