当我使用Merb的内置控制台时,我得到的标签自动完成类似于标准的bash提示符。我觉得这很有用,并希望在非merb IRB会话中启用它。如何在IRB中自动完成?
答案 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。执行以下操作:
.irbrc
vi ~/.irbrc
。 .irbrc
在
require 'bond'
Bond.start
文件中添加以下行
irb
保存并关闭文件
tab
并使用xmlstarlet
密钥自动完成