Rubyのirbで、上キーで履歴が出せるものと出せないものがあったので少し調べてみました。
出る方。
[takeken@localhost]$ irb irb(main):001:0> p 'hoge' "hoge" => "hoge" irb(main):002:0> p 'hoge'
出ない方。
[takeken@centos]$ irb irb(main):001:0> p 'hoge' "hoge" => "hoge" irb(main):002:0> ^[[A
readline どちらにもインストールされてました。
[takeken@centos]$ rpm -q readline readline-6.0-4.el6.x86_64 [takeken@localhost]$ rpm -q readline readline-6.0-4.el6.x86_64
調べてみるとreadline-develが必要な模様。
[takeken@centos]$ rpm -q readline-devel パッケージ readline-devel はインストールされていません。 [takeken@localhost]$ rpm -q readline-devel readline-devel-6.0-4.el6.x86_64
インストールします。こちらはSLですが、別のディストリでも標準のリポジトリで大丈夫だと思います。
[takeken@centos]$ sudo yum install readline-devel ====================================================================================================================================================== パッケージ アーキテクチャ バージョン リポジトリー 容量 ====================================================================================================================================================== インストールしています: readline-devel x86_64 6.0-4.el6 sl 133 k トランザクションの要約 ====================================================================================================================================================== インストール 1 パッケージ
これだけでは改善しません。
irb(main):001:0> p 'hoge' "hoge" => "hoge" irb(main):002:0> ^[[A
該当するRubyのバージョンを再インストールします。
[takeken@centos]$ ruby -v ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux] [takeken@centos]$ rbenv install 2.1.5 rbenv: /home/takeken/.rbenv/versions/2.1.5 already exists continue with installation? (y/N) y Downloading ruby-2.1.5.tar.gz...
トゥットゥルー m9(・∀・)ー! カーソルキーで履歴が見れました。
[takeken@centos]$ irb irb(main):001:0> p 'hoge' "hoge" => "hoge" irb(main):002:0> p 'hoge'
ヒストリーのバッファをどのくらいにするかとか、どのモジュールをロードしておくとかも出来るそうなのですが、他にも色々と設定をしたい場合は/.irbrcで可能とのことでした。