每当我打开.m文件时,默认语法是objective-c但我想将其更改为matlab。所以当我打开一个.m文件时,我会去
view - >语法 - >打开所有当前扩展名为..
并选择matlab。之后,如果我打开另一个.m文件,默认语法是matlab。但是,如果我关闭sublime并再次打开它,则默认语法将返回objective-c。
我添加了objective-c来忽略语法列表,但现在它将.m文件作为纯文本打开。是否有另一种方法来设置文件扩展名的默认语法?
答案 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
文件。