在Sublime Text 2中将默认语法设置为不同的文件types

如何在Sublime Text 2中为特定文件扩展名设置默认文件types? 具体而言,我想* .cfg文件默认有Ini语法突出显示,但我似乎无法弄清楚如何可以创build此自定义设置。

在当前版本的Sublime Text 2(Build:2139)中,可以使用菜单栏中的选项来设置特定文件扩展名的所有文件的语法。 打开一个文件,使用要设置默认值的扩展名,然后浏览以下菜单: View -> Syntax -> Open all with current extension as... ->[your syntax choice]

Updated 2012-06-28: Sublime Text 2的最近版本(至less从Build 2181开始)允许通过单击窗口右下angular的当前语法types来设置语法。 这将打开语法select菜单,选项是在菜单顶部Open all with current extension as...

更新2016-04-19:截至目前,这也适用于崇高的文字3。

转到Packages/User ,创build(或编辑)一个.sublime-settings文件,命名后面是你想要添加扩展名的语法, Ini.sublime-settings ,然后写下你的例子:

 { "extensions":["cfg"] } 

然后重新启动Sublime Text

在ST2中有一个可以安装的软件包叫做Default FileType。 更多信息在https://github.com/spadgos/sublime-DefaultFileType

您可以打开基于文件内容的语法高亮显示。

例如,我的Makefiles不pipe它们的扩展名,第一行如下:

 #-*-Makefile-*- vim:syntax=make 

对于vim等其他编辑来说,这是典型的做法。

但是,为了这个工作,你需要修改Makefile.tmLanguage文件。

  1. 在以下位置查找文件(用于Ubuntu中的Sublime Text 3)

     /opt/sublime_text/Packages/Makefile.sublime-package 

请注意,这是一个真正的zip文件。 复制它,最后用.zip重命名,并从中提取Makefile.tmLanguage文件。

  1. 通过在“fileTypes”部分之后添加“firstLineMatch”键和string来编辑新的Makefile.tmLanguage 。 在下面的例子中,最后两行是新的(应该由你添加)。 <string>部分包含正则expression式,这将启用与第一行相匹配的文件的语法高亮显示。 这个expression式识别两种模式:“ -*-Makefile-*- ”和“ vim:syntax=make ”。

     ... <key>fileTypes</key> <array> <string>GNUmakefile</string> <string>makefile</string> <string>Makefile</string> <string>OCamlMakefile</string> <string>make</string> </array> <key>firstLineMatch</key> <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string> 
  2. 将修改后的Makefile.tmLanguage放置在User settings目录中:

     ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage 

所有匹配第一行规则的文件在打开时都应该打开语法高亮显示。