已经设置好了 rvm 的 auto-ruby:
puts RUBY_VERSION # >> 1.9.3
可是当我在 puts 上按快捷键 Control+h 的时候,Documentation 返回的是
Ruby 1.8 Documentation
这是怎么回事儿?求帮助!
因为 textmate 用的是 1.8 的 ruby 执行 command, 设置 auto-ruby 只影响 run command 里使用的 ruby ...
这个问题我也遇到过,ruby bundle 很久没更新过了。后来另外做了个 command, 不能用鼠标点但是可以查 1.9 的文档:
#! /usr/bin/env ruby word = $stdin.read if word =~ /\s/ word = ENV['TM_CURRENT_WORD'] end exec "#{ENV['RVM_RUBY']} -S ri -f html #{word}"
其中的 RVM_RUBY 是你的 rvm 的 auto-ruby 的位置 (可能你的叫别的名字), 配置在 textmate 的环境变量中
谢谢,一会儿我去试试,关掉原来的 control + h,然后重写这个
ruby 2.0 里的 ri -f 格式不支持 html 了? 只好使用和把默认文件类型设为 markdown 格式了
更新: 装了 markdown 解析器,自己建了个支持 ruby 2.0 ri 的查看器 脚本如下,output 为 new window, format 为 html,和自带的输出很像了
#!/usr/local/bin/ruby
ENV['PATH'] = '/usr/local/bin:' + ENV['PATH'] require 'kramdown'
word = $stdin.read if word =~ /\s/ word = ENV['TM_CURRENT_WORD'] end md = %x"ruby -S ri -f markdown #{word}"
puts Kramdown::Document.new(md).to_html