Previous: Shell History Copying, Up: Shell History
Various shells including csh and bash support history references that begin with `!' and `^'. Shell mode recognizes these constructs, and can 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>.
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.
Shell mode recognizes history references when they follow a prompt. See Shell Prompts, for how Shell mode recognizes prompts.