4

如何配置 Sublime Text 2 以便它识别名为Makefile.localMakefile 的文件,因此在打开此文件时不必手动执行“设置语法:Makefile”?

4

2 回答 2

5

将标签添加<string>Makefile.local</string>到文件中的<array>部分Makefile.tmLanguage

<dict>
    <key>fileTypes</key>
    <array>
        <string>Makefile.local</string>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    <key>name</key>
...

要查找文件,请单击Preferences | Browse Packages...菜单。

该文件可用于更改更多语法定义选项。

于 2012-11-26T14:48:23.493 回答
2

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

例如,我有许多命名Makefile.msp430和类似的 makefile,第一行如下:

#-*-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:33:41.003 回答