开发工具 关于 TextMate 中的 Control + h

xiaolai · 2012年11月17日 · 最后由 windwiny 回复于 2013年06月02日 · 3200 次阅读

已经设置好了 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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号