UBT

Examples:
:ubt :max ; undo back through the most recent command
; (which just means undo the most recent command)
:ubt :x ; same as :ubt :max
:u ; same as :ubt :max with no questions asked
:ubt fn ; undo back through the introduction of fn
; (including all the other events in fn's block)
:ubt 5 ; undo back through the fifth command executed
:ubt (:max -4) ; undo back through the most recent five commands
:ubt (:x -4) ; undo back through the most recent five commands

It is important to remember that a command may create several
events. That is, the command that introduces fn1 may also introduce
fn2. Undoing the command that created either of these will undo
them both. The events created by a command constitute the command's
``block'' and we can only undo entire blocks. Use pcb to print the
command block of a command if you wish to see what will be lost by
undoing the command.

Ubt will not undo into ``prehistory''. :Ubt 1 will undo all of your
commands. But :ubt -5 will cause an error, warning you that :ubt
cannot undo system initialization.

See u for how to undo just the latest command, and see ubu and see ubu! for
how to undo back up to, but not including, the current command.