38.5.3 Shell History References
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
. See Rebinding.
Shell mode recognizes history references when they follow a prompt. See Shell Prompts, for how Shell mode recognizes prompts.