web-dev-qa-db-ja.com

RubyのIRBでオートコンプリートを有効にする方法

Merbの組み込みコンソールを使用すると、標準のbashプロンプトと同様のタブオートコンプリートが表示されます。これは便利だと思います。merb以外のIRBセッションで有効にしたいと思います。 IRBでオートコンプリートを取得するにはどうすればよいですか?

50
John F. Miller

Irbrcにrequire 'irb/completion'をドロップするだけです。

それがうまくいかない場合は、ボンドを試してください、 http://tagaholic.me/bond/

   require 'bond'; require 'bond/completion'

Bondは、irbの完了を改善するだけでなく、 http://tagaholic.me/2009/07/22/better-irb-completion-with-bond.html だけでなく、カスタム自動完了を作成するための簡単なDSLも提供します。 。

62
cldwalker

これは、上記の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 
17
John F. Miller

これは、Mac OS10.11.5で私のために働いたものです。 rvmを使用します。以下をせよ :

  1. Sudo gem install bond
  2. ホームディレクトリにファイル.irbrcを作成します。 vi ~/.irbrc
  3. .irbrcファイルrequire 'bond' Bond.startに次の行を追加します

  4. ファイルを保存して閉じます

  5. irbを開き、tabキーを使用してオートコンプリートします
5
Joseph