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.
Shell mode recognizes history references when they follow a prompt.
Normally, any text output by a program at the beginning of an input
line is considered a prompt. However, if the variable
comint-use-prompt-regexp-instead-of-fields is non-nil,
then Comint mode uses a regular expression to recognize prompts. In
general, the variable comint-prompt-regexp specifies the
regular expression; Shell mode uses the variable
shell-prompt-pattern to set up comint-prompt-regexp in
the shell buffer.
|