[英]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
文件。
在以下位置找到文件(适用于 Ubuntu 中的 Sublime Text 3):
/opt/sublime_text/Packages/Makefile.sublime-package
请注意,这实际上是一个 zip 文件。 复制它,在末尾用 .zip 重命名,然后从中提取 Makefile.tmLanguage 文件。
通过在“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>
将修改后的Makefile.tmLanguage
放在 User settings 目录下:
~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
所有匹配第一行规则的文件在打开时都应该打开语法突出显示。
结果对我来说最好的解决方案是使用ApplySyntax package 。
步骤如下:
CTRL + SHIFT + P
并输入ApplySyntax: Browse Syntaxes
。 在这里找到你想要的语法,并记下显示的确切行,例如,我希望将它设置为 Markdown 编辑 package 中的 Markdown,所以对我来说,该行是MarkdownEditing/syntaxes/Markdown
。CTRL + SHIFT + P
并输入ApplySyntax: Settings
。"new_file_syntax": "XYZ"
行中,输入第 2 步中的行。请参阅此处以获取更多文档。
我发现这比DefaultFileType package更有效,因为它不仅限于通过按CTRL + N
创建的新文件,还可以捕获通过单击打开的选项卡右侧的空白区域打开的新选项卡。
我希望在提出原始问题 11 年后对某人有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.