How to enable auto completion in Ruby's IRB

2019-03-07 19:32发布

When I use Merb's built in console, I get tab auto-completion similar to a standard bash prompt. I find this useful and would like to enable it in non-merb IRB sessions. How do I get auto-completion in IRB?

3条回答
放我归山
2楼-- · 2019-03-07 20:17

This is just repeating the information on Cody Caughlan's comment above so it is easier to find:

either require 'irb/completion' or add the following to ~/.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 
查看更多
够拽才男人
3楼-- · 2019-03-07 20:21

Just drop require 'irb/completion' in your irbrc.

If that doesn't work try bond, http://tagaholic.me/bond/:

   require 'bond'; require 'bond/completion'

Bond not only improves irb's completion, http://tagaholic.me/2009/07/22/better-irb-completion-with-bond.html, but also offers an easy dsl for making custom autocompletions.

查看更多
在下西门庆
4楼-- · 2019-03-07 20:26

This is what worked for me on Mac OS 10.11.5. using rvm. Do the following :

  1. sudo gem install bond
  2. Create the file .irbrc in your home directory. vi ~/.irbrc
  3. Add the following lines in the .irbrc file require 'bond' Bond.start

  4. Save and close the file

  5. Open irb and use tab key to autocomplete
查看更多
登录 后发表回答