如何在Ruby的IRB中启用自动完成

时间:2009-09-05 00:30:03

标签: ruby irb tab-completion

当我使用Merb的内置控制台时,我得到的标签自动完成类似于标准的bash提示符。我觉得这很有用,并希望在非merb IRB会话中启用它。如何在IRB中自动完成?

3 个答案:

答案 0 :(得分:61)

只需将require 'irb/completion'放入irbrc。

如果这不起作用,请尝试使用http://tagaholic.me/bond/

   require 'bond'; require 'bond/completion'

Bond不仅提高了irb的完成度,http://tagaholic.me/2009/07/22/better-irb-completion-with-bond.html,还提供了一个简单的dsl来进行自定义自动完成。

答案 1 :(得分:17)

这只是重复有关Cody Caughlan上述评论的信息,因此更容易找到:

require 'irb/completion'或将以下内容添加到~/.irbrc

IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
  IRB.conf[:LOAD_MODULES] << 'irb/completion'
end 

答案 2 :(得分:4)

这对我在Mac OS 10.11.5上有用。使用rvm。执行以下操作:

  1. .irbrc
  2. 在主目录中创建文件vi ~/.irbrc.irbrc
  3. require 'bond' Bond.start 文件中添加以下行 irb

  4. 保存并关闭文件

  5. 打开tab并使用xmlstarlet密钥自动完成