2017-01-27 5 views
2

私は今VimでMatlabスクリプトを編集しています。最近、私はMathematicaの仕事をプレーンテキストファイルに移動することに興味を持ち始めたので、gitを使って管理し、Vimを使って編集することができました。残念ながら、Mathematicaはパッケージファイルの拡張子を.mとしているため、Matlabスクリプトとの区別が容易ではありません。私の編集者に私の仕事をさせていただきたいので、誰かがファイルの内容に基づいて両方を特定するアイディアを思いついたのか疑問に思っていました。私はほとんどの場合にうまくいくものでうまくいくでしょうが、コメントの追加などのスクリプトの変更を必要とするソリューションを使用することには消極的です。は.mファイルがmatlabかmathematicaかを検出します

+2

最近のバージョンでは、今、私のカスタムファイルは、コメントで始まらない.M – agentp

答えて

1

MATLABのsave()関数で作成された ".mat"または ".m"ファイルは、常にプレーンテキスト識別子 "MATLAB"で始まります。だから、MATLABの構文を使用して、あなたはこれを行う可能性があります:それは問題になるようにMathematicaの

% Set up a workspace variable and save to file 
tmp = 1:10; 
save('test.m'); 

% Open the file, read the first line and close again 
fid=fopen('test.m'); 
firstline=fgetl(fid); 
fclose(fid); 

% Branch depending on file format 
if ((numel(firstline) >= 6) && strcmp(firstline(1:6), 'MATLAB')) 
    disp('This may well be a MATLAB file.'); 
else 
    disp('This is probably not a MATLAB file.'); 
end 
+0

と同じ.WL拡張子を取ります。私はおそらく@agentpの提案に固執するでしょう。なぜなら、2つのファイルタイプをうまく分離して、他の人たちから多くのコードを得ることができないからです。 – Octaviour

関連する問題