OK, latest version:
In addition to saving history and bindings, this version adds:
-
Supports for aliasing the History module
-
Copy/paste a command from history to the shell (so you can edit it)
-
Use ctrl+u and ctrl+k to move up and down history. Unlike the standard history search with the arrow keys this is command not line based. So, for example:
Paste:
iex(1)> config = [
...(1)> scope: :local,
...(1)> history_limit: :infinity,
...(1)> hide_history_commands: true,
...(1)> prepend_identifiers: true,
...(1)> key_buffer_history: true,
...(1)> command_display_width: :int,
...(1)> save_invalid_results: false,
...(1)> show_date: true,
...(1)> save_bindings: true,
...(1)> colors: [
...(1)> index: :red,
...(1)> date: :green,
...(1)> command: :yellow,
...(1)> label: :red,
...(1)> variable: :green
...(1)> ]
...(1)> ]
[
scope: :local,
history_limit: :infinity,
hide_history_commands: true,
prepend_identifiers: true,
key_buffer_history: true,
command_display_width: :int,
save_invalid_results: false,
show_date: true,
save_bindings: true,
colors: [
index: :red,
date: :green,
command: :yellow,
label: :red,
variable: :green
]
]
ctrl+u:
iex(2)> config = [ scope: :local, history_limit: :infinity, hide_history_commands: true, prepend_identifiers: true, key_buffer_history: true, command_display_width: :int, save_invalid_results: false, show_date: true, save_bindings: true, colors: [ index: :red, date: :green, command: :yellow, label: :red, variable: :green ]]