在Sublime Text 2中将默认语法设置为其他文件类型


731

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

Answers:


1597

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

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

2016年4月19日更新:到目前为止,这也适用于Sublime Text 3。


2
您尝试过Open all with current extension as...还是仅通过Syntax菜单中的一项设置来设置语法?
Colin R

已确认。您需要重新启动Sublime才能使更改生效。另外,这不会更改“活动”文件-您可以通过在右下角查看它所选择的语法来辨别。重新启动可以修复它。
dmackerman 2012年

8
可以在每个项目的基础上完成吗?例如,对于一个项目,我可能想要.html文件的Mako语法;而另一个可能使用其他语法。
肯·金德

44
这仍然是ST3中使用的方法(自内部版本3010起)。似乎不需要重新启动,带有扩展名的所有活动文件都会自动更新。
tbeseda

3
@ziyuang-确保光标在打开的文件中的某个位置。
理查德·马斯克

148

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

{
    "extensions":["cfg"]
}

然后重新启动Sublime Text


注意:您要使用的语法区分大小写(例如,CSS对于CSS),这将覆盖通过UI设置的语法(请参阅
@Colin

@Elland我打开了一个问题的问题。
JJD

29
我发现使用Sublime文本2/3可以更轻松地打开文件,然后选择要使用的语法。然后单击首选项->设置-更多->语法特定-用户。它将为您创建该文件。只需将上面的代码粘贴,保存并重新启动。
kokorohakai 2013年

之所以使用这种方式,是因为我能够通过UI删除覆盖我的设置的设置文件
turbo2oh 2013年

有什么方法可以针对特定项目进行配置吗?
steinybot

21

在ST2中,您可以安装一个名为Default FileType的软件包。

更多信息在这里


1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. 正是我想要的!感谢
Ricardo Saporta 2012年

在ST3中也可以!只需要在ST3用户路径部分手工作业(保存DefaultFileType。
staticor

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
    

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


这很有帮助。很高兴知道有可能,但是为每种可能包含这种模式的文件类型编辑每个.sublime-package文件是不切实际的。因此,我可能不会使用此功能。
特拉维斯·斯宾塞
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.