IEx(ElixirのREPL)では、コマンド履歴を保存できるようにしたいと考えています。例えばIEx履歴を保存するにはどうすればよいですか?
:
私は新しいIEXセッションを開き、コマンドを実行することができます。コマンドを実行した後、私は上矢印を押して、私の最後のコマンドをあらかじめ入力しておくことができます。 IExを閉じてもう一度開くと、私は最後のコマンドにアクセスしたいと思います。
これを行う方法はありますか?
IEx(ElixirのREPL)では、コマンド履歴を保存できるようにしたいと考えています。例えばIEx履歴を保存するにはどうすればよいですか?
:
私は新しいIEXセッションを開き、コマンドを実行することができます。コマンドを実行した後、私は上矢印を押して、私の最後のコマンドをあらかじめ入力しておくことができます。 IExを閉じてもう一度開くと、私は最後のコマンドにアクセスしたいと思います。
これを行う方法はありますか?
のErlang/OTP 20については
これは、ビルトインされた(https://hexdocs.pm/iex/IEx.html#module-shell-historyから)
をアーラン/ OTP 20から、有効 いくつかのフラグを渡すことで、シェルの履歴を取得することが可能ですそれはVM内にあります。 IEXを開始するときにこれは当たりの必要性 基づいて行うことができます。
iex --erl "-kernel shell_history enabled"
はあなたではなく、全体としてシステム上 それを可能にする場合は、 変数
ERL_AFLAGS
環境を使用していることを確認することができますそれはあなたの 端末/シェル設定に応じて設定されます。 Linuxの[およびMacOSの]で:Windowsでは
export ERL_AFLAGS="-kernel shell_history enabled"
:
set ERL_AFLAGS "-kernel shell_history enabled"
注:@のアンドレイ・ふくらはぎあなたはMacOSの
上の最初の> touch ~/.iex_history
する必要があるかもしれません言及
のErlang/OTP 19と
の下にはこれを試してみたし、 `Ctrl` +を押すことでIEXの終了時に履歴をいくつかのケースでは正しく書き込まれていないようだhttps://github.com/ferd/erlang-history
> git clone https://github.com/ferd/erlang-history.git
> cd erlang-history
> sudo make install # may not need sudo depending on installation
を使用してみてくださいについて'C'を2回、多くの人がやっています。とにかくIExを終了するには、よりクリーンな方法ですが、いつも 'Ctrl' +' G''Q'' Enter'でIExを終了すると問題はありませんでした。 –
私は、時にはそれがあなたがいかに速く止めるかと関係していることに気づきました。ファイル書き込み競合状態になることはありますか? – loeschg
あの狂気のようなキーコンボを打つのに時間がかかるかもしれません;-) –