Avec IEx (REPL d'Elixir), j'aimerais pouvoir sauvegarder l'historique de mes commandes.
Par exemple:
Je peux ouvrir une nouvelle session IEx et exécuter une commande. Après avoir exécuté la commande, je peux appuyer sur la flèche vers le haut pour que ma dernière commande soit pré-renseignée. Après avoir fermé IEx et ré-ouvert, j'aimerais avoir accès à mes dernières commandes.
Y a-t-il un moyen de faire cela?
Pour Erlang/OTP 20
Ceci est intégré (à partir de https://hexdocs.pm/iex/IEx.html#module-Shell-history )
Depuis Erlang/OTP 20, il est possible d’obtenir l’historique de Shell en passant certains drapeaux qui l'activent dans la VM. Cela peut être fait à la carte base lors du démarrage d'IEx:
iex --erl "-kernel Shell_history enabled"
Si vous préférez activer sur votre système dans son ensemble, vous pouvez utiliser l’environnement
ERL_AFLAGS
variable et assurez-vous qu’il est réglé en conséquence sur votre configuration terminal/shell.Sous Linux [et macOS]:
export ERL_AFLAGS="-kernel Shell_history enabled"
Sous Windows:
set ERL_AFLAGS "-kernel Shell_history enabled"
Remarque: @ andrei-sura a mentionné que vous devrez peut-être d'abord > touch ~/.iex_history
sur MacOS.
Pour Erlang/OTP 19 et inférieur
Essayez d’utiliser 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
J'utilise oh-my-zsh, alors j'ai mis le vim ~/.zshrc
:
# Enable history in IEX through Erlang(OTP)
export ERL_AFLAGS="-kernel Shell_history enabled"
alors source ~/.zshrc
et maintenant toujours charger. Merci @loeschg.