Skip to content

Smart scrolling

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.