52

Sublime 将.m文件视为 Objective C 文件。

我得到了一堆 MATLAB/Octave 文件,可以使用 Octave 进行处理,所有文件都带有.m扩展名。

如果我将扩展名更改为.matlab,那么 Sublime 会识别它们并正确格式化它们,但是 Octave 看不到它们。

我想:

(1) 改变 Sublime 使其识别.m为 MATLAB/Octave 而不是 Objective C,或者

(2) 告诉 Octave 识别.matlab它可以运行的东西。

我已经在 Sublime 和 Octave 方面四处寻找,但无济于事(不是答案),而且我是 Octave 菜鸟。谢谢你。

4

4 回答 4

65

Sublime 2 可以配置为将某些文件扩展名与某些语法高亮方案相关联。请参阅此答案以了解具体操作方法https://stackoverflow.com/a/8014142/694184

于 2012-08-22T21:19:09.843 回答
3

以下是如何使用CTRL+直接从 Sublime Text 运行 Matlab/Octave 代码B,并将.m文件与此 Matlab 语法相关联。这是特定于 Windows 的,请参阅注释中的以下原因。

首先一个Matlab.sublime-build

{
    "cmd": ["cmd", "/k", "D:\\Documents\\software\\octave-4.0.0\\bin\\octave-cli.exe", "$file"],
    "selector": "source.matlab"
}

然后一个Matlab.sublime-settings

{
    "extensions":
    [
        "m"
    ]
}

注意:我使用该cmd /k技巧使绘图显示在一个新窗口中,该窗口在 10 毫秒后不会“消失”(请参阅​​如何在没有 Octave IDE 的情况下运行 Octave 代码(类似于 Python)?Octave: How to prevent plot window从关闭自己?)。因此,不要忘记将其添加到您的绘图中:

h = plot(...)
waitfor(h)
于 2021-02-05T12:28:03.110 回答
2

这些文件是脚本还是函数?如果它们是 Octave 脚本而不是函数,那么您可以拥有任何您喜欢并用于source()运行它们的扩展,独立于扩展。如果它们是函数,与 Matlab 不同,您可以在脚本文件中定义函数,加载它,它们将保留在内存中。

但是如果你根本不需要语法高亮,你应该可以更改 Sublime,只需找到文件 Objective-C.Sublime-package。如果不运行它,只需查看安装程序中的文件,我就会看到两种方法:

  1. 尝试删除它(或者只是将其名称更改为 .bak 以便在出现问题时恢复它)
  2. 该文件是一个包含两个 XML 文件的 tarball。打开这些文件并编辑将这些文件的扩展名设置为不同 .m 的条目

当然,还可以选择更改为自由文本编辑器中的自由文本编辑器,让您可以查看其源代码并做任何您想做的事情。

于 2012-08-22T23:02:31.803 回答
0

这对我来说很好。我刚刚放了八度音程的路径,代码正在完美运行

{
"cmd": ["/usr/local/octave/3.8.0/bin/octave-3.8.0", "$file"],
"selector": "source.m"
}

将其保存为 Octave.sublime-build

于 2017-07-09T21:14:16.417 回答