设置sublime的默认语法不起作用

时间:2014-06-03 13:14:51

标签: matlab syntax sublimetext2 sublimetext

每当我打开.m文件时,默认语法是objective-c但我想将其更改为matlab。所以当我打开一个.m文件时,我会去

  

view - >语法 - >打开所有当前扩展名为..

并选择matlab。之后,如果我打开另一个.m文件,默认语法是matlab。但是,如果我关闭sublime并再次打开它,则默认语法将返回objective-c。

我添加了objective-c来忽略语法列表,但现在它将.m文件作为纯文本打开。是否有另一种方法来设置文件扩展名的默认语法?

3 个答案:

答案 0 :(得分:6)

在sublime3中,查看 - >语法 - >打开所有当前扩展名为..如果你关闭然后打开sublime。

答案 1 :(得分:3)

我不确定为什么Sublime会这样做,但是有一种解决方法。由于您使用的是ST2,因此非常简单。选择 Preferences -> Browse Packages... 打开您的Packages文件夹,然后打开Objective-C子文件夹。在Sublime中打开Objective-C.tmLanguage作为XML文件,并注释掉(或完全删除)第7行:

<string>m</string>

保存文件并关闭它。接下来,打开Objective-C++.tmLanguage并对第8行做同样的事情:

<string>M</string>

保存并关闭该文件。最后,为了确保您的 Open all with current extension as... 命令有效,请转到Packages/User并检查是否存在名为MATLAB.sublime-settings的文件。将其作为JSON文件打开,并仔细检查其内容如下:

{
    "extensions":
    [
        "m"
    ]
}

如果由于某种原因文件不存在,请使用上述内容创建并保存。您现在应该可以打开任何.m文件,并将语法自动设置为MATLAB


请注意Sublime Text 3用户:

ST3不再将其默认软件包存储在Packages中,而是将它们作为压缩Installed Packages文件放在.sublime-package文件夹中(其位置因操作系统和安装类型而异)。要访问内容,请安装@skuroda的PackageResourceViewer插件以无缝访问这些文件的内容。安装后,在Windows / Linux上打开命令选项板( Ctrl Shift P Shift < OS X上的/ kbd> P 并输入 prv 以显示PackageResourceViewer个选项。选择Extract Package,向下滚动到Objective-C,然后按 Enter 。您现在可以按照上述说明打开Packages/Objective-C文件夹并编辑.tmLanguage文件。 Packages/User目录 是常规目录,因此您无需将其解压缩以验证MATLAB.sublime-settings的内容。

答案 2 :(得分:0)

我认为为什么会发生这种情况,至少在Sublime 3(v3.2.1)中如此。使用PackageResourceViewer: Extract Package提取Matlab包后,我在第6行的Matlab.sublime-syntax中发现了这一点:

  - matlab

由于.matlab不是matlab函数和脚本的扩展,在将其更改为- m之后,Sublime以MATLAB语法显示了.m文件。