我最近开始使用Sublime Text 2。这是一个很棒的编辑器。它能很好地突出显示Ruby代码,但它却不能突出Gemfile。
有没有办法让它做到?
我发现了这个Gist,但它没有关于如何使用它的说明。
我最近开始使用Sublime Text 2。这是一个很棒的编辑器。它能很好地突出显示Ruby代码,但它却不能突出Gemfile。
有没有办法让它做到?
我发现了这个Gist,但它没有关于如何使用它的说明。
至少有三种选择:
"Gemfile"
)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包来到达那里。一旦进入文件,它将很明显:<array>
元素具有类似Ruby的文件名。 添加<string>Gemfile</string>
,就完成了。
可能会在升级时覆盖设置;我不确定ST2如何运作-使用代码进行操作可能更清晰,就像片段中所示。
3. 使用您链接的片段
需要更多的工作(以及纠正一个语法错误)。您可以通过在Packages
中创建一个目录(请参阅上述位置)手动执行此操作,或者创建一个实际的包并允许ST2安装它。
我创建了一个名为"Syntax"
的测试包,并将片段复制到其中,重新启动ST2,并打开Gemfile
。修改需要添加一个冒号(新的代码片段),简而言之:
elif name[-3] == "erb": # Needed a semi-colon here.
set_sintax(view, "HTML (Rails)", "Rails")
如果您使用的是Sublime Text 3,可能无法在软件包中找到“Ruby语法文件列表”。
大多数其他在线解决方案对我来说很难理解。
我通过手动更改Gemfile到Ruby来解决了这个问题,在Sublime Text 3中打开文件后,在右下角文件扩展菜单项中选择Ruby(这是我直到现在每次打开文件时所做的操作)。
一旦您选择了ruby,然后进入“首选项” -> “更多设置” -> “语法特定-用户”。
{
"extensions":
[
"Gemfile",
"Gemfile.lock"
]
}
~/.config/sublime-text-3/Packages/User
.rb
扩展名的其他文件和标准Ruby文件之间的区别。Gemfile
、Rakefile
、Guardfile
和其他与Ruby匹配的语法格式。您可以通过将HTML.tmLanguage文件复制到User/文件夹中来实现此目的,这样它就不会被更新覆盖。