Sublime将.m
个文件视为Objective C文件。
我已经获得了一堆MATLAB / Octave文件,可以使用Octave,所有文件都使用.m
扩展名。
如果我将扩展名更改为.matlab
,那么Sublime会识别它们并正确格式化它们,但是Octave看不到它们。
我想要:
(1)改变Sublime,使其将.m
识别为MATLAB / Octave而不是Objective C,或
(2)告诉Octave将.matlab
视为可以运行的东西。
我已经在Sublime和Octave方面捅了一下,但无济于事(this不是答案),而且我是Octave noob。谢谢。
答案 0 :(得分:62)
Sublime 2可以配置为将某些文件扩展名与某些语法突出显示方案相关联。请参阅此答案,了解具体操作方法https://stackoverflow.com/a/8014142/694184
答案 1 :(得分:3)
这里是如何使用 CTRL+B 直接从 Sublime Text 运行 Matlab/Octave 代码并将 .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 毫秒后不会“消失”(参见 How to run Octave code without the Octave IDE (similarly to Python)? 和 Octave: How to prevent plot window from closing itself?)。因此,不要忘记将其添加到您的图中:
h = plot(...)
waitfor(h)
答案 2 :(得分:2)
这些文件是脚本还是函数?如果它们是Octave脚本而不是函数,那么您可以使用任何您喜欢的扩展名并使用source()
来运行它们,而不受扩展名的影响。如果它们是函数,与Matlab不同,您可以在脚本文件中定义函数,加载它们,它们将保留在内存中。
但是如果您根本不需要语法高亮,那么您应该能够更改Sublime,只需找到文件Objective-C.Sublime-package。如果不运行它,只需查看安装程序中的文件,我就会看到两种方法:
当然,还可以选择更改为自由文本编辑器,以便您查看其来源并执行任何操作。
答案 3 :(得分:0)
这对我来说很好。 我刚刚把八度音程的路径和代码完全运行了
{
"cmd": ["/usr/local/octave/3.8.0/bin/octave-3.8.0", "$file"],
"selector": "source.m"
}
将其另存为Octave.sublime-build