efaq: Repeating commands

 
 5.29 How do I repeat a command as many times as possible?
 =========================================================
 
 As of Emacs 20.3, there is indeed a ‘repeat’ command (‘C-x z’) that
 repeats the last command.  If you preface it with a prefix argument, the
 prefix arg is applied to the command.
 
    You can also type ‘C-x <ESC> <ESC>’ (‘repeat-complex-command’) to
 reinvoke commands that used the minibuffer to get arguments.  In
 ‘repeat-complex-command’ you can type ‘M-p’ and ‘M-n’ (and also up-arrow
 and down-arrow, if your keyboard has these keys) to scan through all the
 different complex commands you’ve typed.
 
    To repeat a set of commands, use keyboard macros.  Use ‘C-x (’ and
 ‘C-x )’ to make a keyboard macro that invokes the command and then type
 ‘C-x e’.  See(emacs)Keyboard Macros.
 
    If you’re really desperate for the ‘.’ command in ‘vi’ that redoes
 the last insertion/deletion, use VIPER, a ‘vi’ emulation mode which
 comes with Emacs, and which appears to support it.