Shell History Copying
Shell History
Various shells including csh and bash support history references
that begin with `!' and `^'. Shell mode can understand these
constructs and perform the history substitution for you. If you insert
a history reference and type TAB, this searches the input history
for a matching command, performs substitution if necessary, and places
the result in the buffer in place of the history reference. For
example, you can fetch the most recent command beginning with `mv'
with ! m v TAB. You can edit the command if you wish, and
then resubmit the command to the shell by typing RET.
History references take effect only following a shell prompt. The
variable shell-prompt-pattern specifies how to recognize a shell
prompt. Comint modes in general use the variable
comint-prompt-regexp to specify how to find a prompt; Shell mode
uses shell-prompt-pattern to set up the local value of
comint-prompt-regexp.
Shell mode can optionally expand history references in the buffer when
you send them to the shell. To request this, set the variable
comint-input-autoexpand to input.
You can make SPC perform history expansion by binding SPC to
the command comint-magic-space.