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
.
Go to the first, previous, next, last section, table of contents.