关于sublimetext2:在Sublime Text 2中将默认语法设置为不同的文件类型

Set default syntax to different filetype in Sublime Text 2

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


在当前版本的Sublime Text 2(build:2139)中,可以使用菜单栏中的选项为某个文件扩展名的所有文件设置语法。打开一个扩展名为的文件,并通过以下菜单导航:View -> Syntax -> Open all with current extension as... ->[your syntax choice]

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

更新日期:2016年4月19日:目前,这也适用于崇高文本3。


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

1
2
3
{
   "extensions":["cfg"]
}

然后重新启动Sublime文本


在ST2中,有一个名为default filetype的包可以安装它。更多信息请访问https://github.com/spadgos/sublime-defaultfiletype。


可以根据文件的内容启用语法突出显示。

例如,我的makefiles不管其扩展名如何,第一行如下:

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

这是其他编辑(如Vim)的典型做法。

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

  • 查找文件(用于Ubuntu中的Sublime文本3),网址:

    1
    /opt/sublime_text/Packages/Makefile.sublime-package
  • 注意,这确实是一个压缩文件。复制它,在末尾用.zip重命名,然后从中提取makefile.tmlanguage文件。

  • 通过在"filetypes"部分后面添加"firstlinematch"键和字符串,编辑新的Makefile.tmLanguage。在下面的示例中,最后两行是新的(应该由您添加)。部分包含正则表达式,它将为与第一行匹配的文件启用语法突出显示。该表达可识别两种模式:"-*-Makefile-*-和"vim:syntax=make"。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    <key>fileTypes</key>

        <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>
  • 将修改后的Makefile.tmLanguage放入用户设置目录:

    1
    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
  • 所有与第一行规则匹配的文件在打开时应打开语法突出显示。