配置SubLime Linter插件以使用Ruby 1.9语法

配置SubLime Linter插件以使用Ruby 1.9语法,ruby,sublimetext,Ruby,Sublimetext,我想让SubLime Linter插件()识别Ruby 1.9语法。有没有人能在Sublimitext 2中实现这个功能 以下是我当前的默认设置文件: /* 超链接器默认设置 */ { /* 设置SublimiteLiner运行的模式: true-键入时在背景中出现Linting(默认设置)。 错误-仅当您启动它时才会发生脱毛。 “加载保存”-仅当加载并保存文件时才发生Linting。 */ “升华者”:没错, /* 将过梁映射到非内置过梁的可执行文件。如果 不在默认系统路径中,或在/usr/l

我想让SubLime Linter插件()识别Ruby 1.9语法。有没有人能在Sublimitext 2中实现这个功能

以下是我当前的默认设置文件:

/*
超链接器默认设置
*/
{
/*
设置SublimiteLiner运行的模式:
true-键入时在背景中出现Linting(默认设置)。
错误-仅当您启动它时才会发生脱毛。
“加载保存”-仅当加载并保存文件时才发生Linting。
*/
“升华者”:没错,
/*
将过梁映射到非内置过梁的可执行文件。如果
不在默认系统路径中,或在/usr/local/bin中的posix系统上
或者~/bin,则必须指定可执行文件的完整路径。
过梁名称应为小写。
这是有效的默认映射;您的映射可能会覆盖这些映射。
“超级地图”:
{
“perl”:“perl”,
“php”:“php”,
“ruby”:“ruby”
},
*/
“超级地图”:
{
},
/*
将语法名称映射到linter。这允许对语法进行更改
(例如“Python(Django)”)将被linted
.tmLanguage语法文件的基本文件名和值
语法映射到的linter名称(小写)。
*/
“超链接语法映射”:
{
“Python Django”:“Python”
},
//要禁用的linter名称数组。名称应为小写。
“超级链接器禁用”:
[
],
/*
之前的最小延迟(以秒为单位)(分数秒为准)
当“升华测线器”设置为真时,将运行测线器。这允许
您需要激活背景林,但延迟实际林
直到空闲。当此值大于内置的起毛延迟时,
修改文件时会删除错误,因为假设是
您不希望在键入时看到错误。
*/
“升华延迟”:0,
//如果为true,则带有错误或警告的行将用轮廓颜色填充。
“Supremelineter_fill_轮廓”:错误,
//如果为true,则带有错误或警告的行将具有槽标记。
“升华标志”:假,
//如果为true,则find next/previous error命令将换行。
“升华者”是真的,
//如果为true,则保存文件时,弹出列表中将显示任何错误
“保存时的超级链接弹出错误”:false,
//jshint:linting JavaScript的选项。请参阅http://jshint.com/#docs 更多信息。
//通过迪奥,允许进行评估。
“jshint_选项”:
{
“邪恶”:真的,
“regexdash”:正确,
“浏览器”:正确,
“wsh”:没错,
“拖尾”:正确,
“sub”:对,
“严格”:错误
},
//要忽略的pep8错误号列表。默认情况下,忽略“行太长”错误。
//错误代码列表在此文件中:https://github.com/jcrocholl/pep8/blob/master/pep8.py.
//搜索“Ennn:”,其中nnn是一个3位数字。
“pep8_忽略”:
[
“E501”
],
/*
如果您使用SublimeLiner进行pyflakes检查,您可以忽略一些“未定义名称xxx”
错误(如果您使用后处理器、仅在运行时可用的全局/内置等,则会很方便)。
您可以通过用户设置“pyflakes\u ignore”来控制将忽略哪些名称。
例子:
“pyflakes_ignore”:
[
“一些定制的矿山建筑”,
“一个全局常数”
],
*/
“pyflakes_ignore”:
[
],
/*
通常,pyflakes在使用“from foo import*”时会发出警告,
但是它被忽略了,因为警告没有那么大的帮助。如果你想看到这个警告,
将此选项设置为false。
*/
“pyflakes\u ignore\u import\u*”:true,
//Objective-J:如果为true,则非ascii字符被标记为错误。
“超级链接器检查ascii”:false
}

我能够使用ruby 1.9可执行文件的绝对路径让它工作。我使用的是rbenv,所以要获得我运行的路径,您可能需要输入
/usr/local/bin/ruby
/usr/local/bin/ruby19

这就是我的SublimiteLiner默认设置的样子(如果愿意,您也可以将其放入特定于项目的文件中:)

首选项->软件包设置->超级链接->设置-用户

"sublimelinter_executable_map":
{
    "ruby": "~/.rbenv/versions/1.9.3-p0/bin/ruby"
},
{
  "sublimelinter_executable_map": {
    "ruby": "~/.rvm/bin/rvm-auto-ruby"
  }
}

使用rvm时,您应该能够使用
rvm auto ruby


这其中有一个问题,但我认为它现在已经解决了:

所有,只是想插话,因为我也遇到了这个问题,下面的工作是在Ubuntu上的ST2 v 2.0.1上的User/sublimeLineter.sublime-settings文件中,该文件位于

首选项->软件包设置->超级链接->设置-用户

"sublimelinter_executable_map":
{
    "ruby": "~/.rbenv/versions/1.9.3-p0/bin/ruby"
},
{
  "sublimelinter_executable_map": {
    "ruby": "~/.rvm/bin/rvm-auto-ruby"
  }
}
添加后,重新启动ST2,转到控制台并通过运行以下命令检查其是否已更新:

view.settings().get("sublimelinter_executable_map")
您应该获得以下输出:

{'ruby': u'~/.rvm/bin/rvm-auto-ruby'}

我还可以通过添加路径并将ruby指向rbenv垫片添加到SublimeLineter_可执行文件_映射(我认为这也是官方文档中推荐的方法)来实现这一点。这还允许您切换ruby版本,而无需更新配置

{
  "sublimelinter_executable_map": {
    "path": "/usr/local/var/rbenv/shims:/Users/luke/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin",
    "ruby": "/usr/local/var/rbenv/shims/ruby"

  }
}

在Sublimiter 3中,rbenv(希望是rvm)是开箱即用的,不需要额外的配置(除了确保它们在shell启动时的正确位置进行初始化之外)。

我尝试了这个方法,但linting完全消失了。我的路径有点不同:
~/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
好的,这对我来说很有用
/users/tscott/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
为什么我们不能对ruby二进制文件使用.rbenv/shimmes呢?你可以提供ruby的完整路径,而不是提供ruby的完整路径