【更新】OTP20
OTP20からErlangの-kernel shell_history enabled
というフラグで履歴が保存されるようになったので、常にこの設定が使われるようにERL_AFLAGS
を設定すれば良いです。例えば~/.zshrc
辺りに
export ERL_AFLAGS="-kernel shell_history enabled"
を追加すれば良い。
元記事
最近Elixirを使い始めているのですが、Elixirのシェルに1つ不満がありました。セッションを閉じると履歴が保存されません。pryやipythonに慣れていたもので、その機能が欲しかったです。
調べてみたところで、Elixirの問題ではなく、Erlangの問題らしいので、Erlangで使われているワークアラウンドで行けるとのことでした。
erlang-historyというプロジェクトが問題なく動いてくれました。
git clone https://github.com/ferd/erlang-history.git
cd erlang-history
make install
で無事に履歴が保存されるようになれました。Erlangのインストールディレクトリに書き込み権限がない場合は、make install
の時はsudo
が必要になります。