This module combines the facility of normal, modern shells with some
of the edit/review concepts inherent in the design of Plan 9’s 9term.
To enable it, add eshell-smart to eshell-modules-list.
When you invoke a command, it is assumed that you want to read the
output of that command.
If the output is not what you wanted, it is assumed that you will want
to edit, and then resubmit a refined version of that command.
If the output is valid, pressing any self-inserting character key will
jump to end of the buffer and insert that character, in order to begin
entry of a new command.
If you show an intention to edit the previous command – by moving
around within it – then the next self-inserting characters will
insert *there*, instead of at the bottom of the buffer.
If you show an intention to review old commands, such as M-p or
M-r, point will jump to the bottom of the buffer before invoking
that command.
If none of the above has happened yet (i.e. your point is just
sitting on the previous command), you can use SPC and
BACKSPACE (or Delete) to page forward and backward
through the output of the last command only. It will constrain
the movement of the point and window so that the maximum amount of
output is always displayed at all times.
While output is being generated from a command, the window will be
constantly reconfigured (until it would otherwise make no difference)
in order to always show you the most output from the command possible.
This happens if you change window sizes, scroll, etc.