Viper provides multiple undo. The number of undo’s and the size is limited by the machine. The Viper command u does an undo. Undo can be repeated by typing . (a period). Another u will undo the undo, and further . will repeat it. Typing u does the first undo, and changes the direction.
Since the undo size is limited, Viper can create backup files and auto-save files. It will normally do this automatically. It is possible to have numbered backups, etc. For details, see Backup and Auto-Save in The GNU Emacs Manual.
The results of the 9 previous changes are available in the 9 numeric registers, as in Vi. The extra goody is the ability to view these registers, in addition to being able to access them through p and M-y (See Insert State, for details.) The Viper command ] register will display the contents of any register, numeric or alphabetical. The related command [ textmarker will show the text around the textmarker. ‘register’ and ‘textmarker’ can be any letters from a through z.