Goto last change in current buffer. Repeat to go to earlier changes. Negative arg to go back to more recent changes. With argument 0 (C-u 0) you get a description of the change that was done at every changed position.

This function uses undo information.

Sample usage (init file):

   (require 'goto-chg)
   (global-set-key [(control ?.)] 'goto-last-change)
   (global-set-key [(control ?,)] 'goto-last-change-reverse)

In evil-mode (as in vim), this is bound to `g;`


Another package that do a similar thing is goto-last-change.el (GotoLastChange) by Kevin Rodgers. (If used repeatedly, to go back to earlier edits, it may misalign the position, not accounting for changes that have shorten or lengthen the text before that point.)

Another alterative is session-jump-to-last-change in the session.el package.

Another package I have not tested is UndoBrowse by DeepakGoel


Please tag a release of this so it may appear on MELPA stable.