41.5 Shell Command History
Shell buffers support three ways of repeating earlier commands. You
can use keys like those used for the minibuffer history; these work
much as they do in the minibuffer, inserting text from prior commands
while point remains always at the end of the buffer. You can move
through the buffer to previous inputs in their original place, then
resubmit them or copy them to the end. Or you can use a
‘!’-style history reference.