我最近开始使用Sublime Text 2.这是一个多么棒的编辑器。它突出显示了Ruby代码,但它没有突出显示我的Gemfile。
有没有办法让它做到这一点?
我找到this Gist,但没有关于如何使用它的说明。
答案 0 :(得分:34)
至少有三种选择:
"Gemfile"
添加到Ruby语法文件列表中<强> 1。没有解释,但方便的技巧
您可以绑定击键来设置语法而无需移动到鼠标。
我将语法更改为 Ctrl-Opt-Space ,方法是将以下内容添加到我的用户键绑定中:
[
{ "keys": ["ctrl+alt+space"],
"command": "show_overlay",
"args": { "overlay": "command_palette", "text": "Set Syntax: " } }
]
<强> 2。将"Gemfile"
添加到Ruby语法文件列表
~/.config/sublime-text-2/Packages/Ruby/Ruby.tmLanguage
~/Library/Application Support/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage
%APPDATA%/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage
您也可以使用菜单选项Preferences -> Browse Packages
进入Ruby包。一旦你进入文件就会很明显:它是具有Ruby外观文件名的<array>
元素。添加<string>Gemfile</string>
即可完成设置。
升级可能会覆盖设置;我不确定ST2是如何工作的 - 通过代码片段可以更清晰地完成它。
第3。使用您链接到
的代码段更多工作(以及一个语法错误的更正)。你可以手动完成,在Packages
中创建一个目录(参见上面的位置)或创建一个实际的包,并允许ST2安装它。
我创建了一个名为"Syntax"
的测试包,并将片段复制到其中,重新启动ST2,并打开Gemfile
按预期工作。修正需要额外的冒号(new gist),简言之:
elif name[-3] == "erb": # Needed a semi-colon here.
set_sintax(view, "HTML (Rails)", "Rails")
答案 1 :(得分:5)
如果您在这里但正在使用Sublime Text 3,您可能无法找到Ruby语法文件的列表&#39;在包中。
网上发现的大多数其他解决方案让我感到困惑。
我通过在Sublime Text 3中打开文件时手动将Gemfile更改为Ruby右下角文件扩展菜单项来修复此问题(这是我每次打开文件时一直在做的事情) 。
选择ruby后,转到首选项 - &gt;设置 - 更多 - &gt;语法特定用户
{
"extensions":
[
"Gemfile",
"Gemfile.lock"
]
}
当您导航到特定于语法的用户时,它会打开一个特定于该文件具有语法高亮显示功能的语言的文件。您可能需要将文件更改回任何默认值(我的是&#39; Rd(R文档).sublime-settings&#39;)并从该语法突出显示文件中删除Gemfile。
在Ubuntu中,这些文件存储在
~/.config/sublime-text-3/Packages/User
答案 2 :(得分:2)
ST2的DetectSyntax插件为突出显示文件提供了更全面的解决方案 - 它允许基于规则的文件突出显示。它足够聪明,可以理解Rails文件,使用.rb
作为扩展名的其他文件和标准ruby文件之间的区别。
标准规则包括Gemfile
,Rakefile
,Guardfile
以及其他符合Ruby for Syntax格式的规则。
答案 3 :(得分:-1)
您可以通过复制用户/文件夹中的HTML.tmLanguage文件来实现此目的,这样就不会被更新覆盖。