741

如何在 Sublime Text 2 中为某个文件扩展名设置默认文件类型?具体来说,我希望 *.cfg 文件默认具有 Ini 语法突出显示,但我似乎无法弄清楚如何创建此自定义设置。

4

4 回答 4

1620

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

2012-06-28 更新: Sublime Text 2 的最新版本(至少从 Build 2181 开始)允许通过单击窗口右下角的当前语法类型来设置语法。这将打开语法选择菜单,Open all with current extension as...菜单顶部有选项。

2016-04-19 更新:截至目前,这也适用于 Sublime Text 3。

于 2011-11-04T18:33:46.967 回答
150

转到一个Packages/User,创建(或编辑)一个.sublime-settings以您要在其中添加扩展名的语法命名的文件,Ini.sublime-settings在您的情况下,然后在其中编写如下内容:

{
    "extensions":["cfg"]
}

然后重启 Sublime Text

于 2011-09-28T19:56:41.777 回答
21

在 ST2 中,您可以安装一个名为 Default FileType 的包,它就是这样做的。

更多信息在这里

于 2012-01-09T01:26:59.273 回答
5

您可以根据文件的内容打开语法高亮。

例如,我的 Makefiles 无论其扩展名如何,第一行如下:

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

这是其他编辑器(例如 vim)的典型做法。

但是,要使其正常工作,您需要修改 Makefile.tmLanguage文件。

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

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

请注意,这实际上是一个 zip 文件。复制它,最后用 .zip 重命名,然后从中提取 Makefile.tmLanguage 文件。

  1. Makefile.tmLanguage通过在“fileTypes”部分之后添加“firstLineMatch”键和字符串来编辑新的。在下面的示例中,最后两行是新的(应该由您添加)。该<string>部分包含正则表达式,它将启用与第一行匹配的文件的语法突出显示。此表达式识别两种模式:“ -*-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放在用户设置目录中:

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

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

于 2015-11-24T02:41:41.187 回答