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

Joh*_*ler 52 ruby irb tab-completion

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

cld*_*ker 64

只需require 'irb/completion'放入你的irbrc.

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

   require 'bond'; require 'bond/completion'
Run Code Online (Sandbox Code Playgroud)

邦德不仅提高IRB的完成,http://tagaholic.me/2009/07/22/better-irb-completion-with-bond.html,而且还提供了用于制作定制的自动填充一个简单的DSL.

  • 只是想添加,如果你在Ubuntu上,你可以在$ HOME目录中创建文件```.irbrc```,如果它还不存在的话. (6认同)

Joh*_*ler 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 
Run Code Online (Sandbox Code Playgroud)

  • 如果一个简单的require语句做同样的话,我为什么要将这个块添加到ibrc? (7认同)

Jos*_*eph 5

这是在Mac OS 10.11.5上对我有效的方法。使用rvm。请执行下列操作 :

  1. sudo gem install bond
  2. .irbrc在您的主目录中创建文件。vi ~/.irbrc
  3. .irbrc文件中 添加以下行 require 'bond' Bond.start

  4. 保存并关闭文件

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