繁体   English   中英

在 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 年 6 月 28 日更新: Sublime Text 2 的最新版本(至少自 Build 2181 以来)允许通过单击窗口右下角的当前语法类型来设置语法。 这将打开语法选择菜单,并在菜单顶部选择Open all with current extension as...选项。

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

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

{
    "extensions":["cfg"]
}

然后重启 Sublime Text

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

更多信息在这里

您可以根据文件的内容打开语法突出显示。

例如,我的 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. 通过在“fileTypes”部分之后添加“firstLineMatch”键和字符串来编辑新的Makefile.tmLanguage 在下面的示例中,最后两行是新的(应该由您添加)。 <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放在 User settings 目录下:

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

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

结果对我来说最好的解决方案是使用ApplySyntax package

步骤如下:

  1. 通过 Package 控件安装 package
  2. CTRL + SHIFT + P并输入ApplySyntax: Browse Syntaxes 在这里找到你想要的语法,并记下显示的确切行,例如,我希望将它设置为 Markdown 编辑 package 中的 Markdown,所以对我来说,该行是MarkdownEditing/syntaxes/Markdown
  3. CTRL + SHIFT + P并输入ApplySyntax: Settings
  4. "new_file_syntax": "XYZ"行中,输入第 2 步中的行。

请参阅此处以获取更多文档。

我发现这比DefaultFileType package更有效,因为它不仅限于通过按CTRL + N创建的新文件,还可以捕获通过单击打开的选项卡右侧的空白区域打开的新选项卡。

我希望在提出原始问题 11 年后对某人有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM