52

Sublimeは、.mファイルをObjectiveCファイルと見なします。

Octaveを使用して動作するMATLAB/Octaveファイルがたくさんあり、すべて.m拡張子が付いています。

拡張機能をに変更すると.matlab、Sublimeはそれらを認識して正しくフォーマットしますが、Octaveはそれらを認識しません。

私はどちらかをしたい:

.m(1) ObjectiveCではなくMATLAB/ Octaveとして認識されるようにSublimeを変更する、または

(2)Octaveに、.matlab実行できるものとして認識するように指示します。

私はこれの崇高な側面とオクターブの側面をいじくり回しましたが、役に立たず(これは答えではありません)、私はオクターブの初心者です。ありがとうございました。

4

4 に答える 4

65

Sublime 2は、特定のファイル拡張子を特定の構文強調表示スキームに関連付けるように構成できます。正確な方法については、この回答を参照してくださいhttps://stackoverflow.com/a/8014142/694184

于 2012-08-22T21:19:09.843 に答える
3

CTRL+を使用してSublimeTextから直接Matlab/Octaveコードを実行し、ファイルをこのMatlab構文にB関連付ける方法は次のとおりです。.mここでは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:プロットウィンドウを防ぐ方法自分自身を閉じることから?)。このため、これをプロットに追加することを忘れないでください。

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

それらのファイルはスクリプトまたは関数ですか?それらがOctaveスクリプトであり、関数ではない場合は、拡張機能とは関係なく、任意の拡張機能を使用source()して実行できます。関数の場合、Matlabとは異なり、スクリプトファイルで関数を定義してロードすると、メモリに残ります。

ただし、構文の強調表示がまったく必要ない場合は、Sublimeを変更できるはずです。ファイルObjective-C.Sublime-packageを見つけるだけです。実行せずに、インストーラーでファイルを確認するだけで、2つの方法がわかります。

  1. 削除してみてください(または、何か問題が発生した場合に復元できるように、名前を.bakに変更してください)
  2. そのファイルは、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 に答える