.rb文件打开显示Plain Text是因为Sublime未将.rb扩展名绑定Ruby语法,需手动操作:打开.rb文件→点右下角“Plain Text”→选Ruby→点击“Open all with current extension as…”→选Ruby,此后所有.rb文件自动高亮。

为什么.rb文件打开还是Plain Text
这不是插件没装好,是Sublime根本没把文件当Ruby处理。它默认只对.rb扩展名做语法绑定,但首次打开时右下角常显示“Plain Text”——说明语法识别链断了。
手动切换一次就能永久修复:打开任意.rb文件 → 点右下角语言名(如Plain Text)→ 选Ruby → 点击右侧弹出的Open all with current extension as… → 再选Ruby。这步会写入Associations.tmPreferences,之后所有.rb文件自动高亮。
别指望插件自动接管——原生Sublime就靠这个手动绑定,不点这一下,装再多插件也白搭。
怎么让.erb、.slim这些Rails模板也高亮
.erb文件默认被识别为HTML或Plain Text,.slim和.haml更不会自动高亮。它们不属于Ruby核心语法,得靠插件+手动绑定双保险。
- 装插件:
ERB Insert and Toggle(补全标签)、Ruby Slim(支持.slim)、Haml(支持.haml) - 绑定语法:打开一个
.erb文件 → View → Syntax → Ruby on Rails →HTML (Rails)→ 右键底部语法名 →Set Syntax as Default for this Extension→ 输入erb确认 - 注意:改完要重启Sublime,否则新插件不加载
格式化Ruby代码用什么插件最稳
Sublime本身不带Ruby格式化能力,必须靠外部工具驱动。目前唯一可靠、持续维护的是RuboCop + SublimeLinter-rubocop组合。
安装后需手动指定rubocop路径,否则报command not found:
- 先在终端跑
which rubocop,拿到绝对路径,比如/Users/xxx/.rbenv/shims/rubocop - Preferences → Package Settings → SublimeLinter → Settings,在User Settings里加:
{ "linters": { "rubocop": { "executable": ["/Users/xxx/.rbenv/shims/rubocop"] } } } - 别用
~缩写,Sublime不解析;路径含空格要转义,但最好直接避开
格式化触发方式是保存时自动执行(需开启"on_save": true),不是Ctrl+Shift+P调命令——这点和VS Code不同,容易卡在找快捷键上。
高亮颜色不对或局部失效怎么办
改了color_scheme但某些语法(比如字符串插值f"...")还是灰的,大概率是作用域没匹配上。
定位真实作用域的方法很直接:光标停在那段代码上 → 按Ctrl+Alt+Shift+P(Windows/Linux)或Cmd+Alt+Shift+P(Mac)→ 看状态栏输出,比如source.ruby string.interpolated.ruby。
然后在配色方案的rules数组里加一条专用规则:
{
"scope": "string.interpolated.ruby",
"foreground": "#a6e22e"
}
别改通用string,优先级会被更细粒度的作用域覆盖。另外,.sublime-color-scheme文件名大小写和扩展名必须完全一致,错一个字母就静默失效。


















