Traversing Neovim's Change List

Two commands are available to traverse the change list:

CommandAction
[n] g;go to N older position in change list
[n] g,go to N newer position in change list

Lets try stepping back one step through the change list. In the most-recent step we deleted a word from line 4. Lets hit g; once to confirm that we jump to the expected location:

Go to previous change
g;
1.·Beautiful·is·better·than·.
2.·Explicit·is·better·implicit.
3.·Simple·is·than·complex.
4.·is·better·than·complicated.
NORMAL
80%
4:4
 

As expected, the cursor moved from line 1 back to line 4. Let's look at the change list again:

View the change list
1.·Beautiful·is·better·than·.
2.·Explicit·is·better·implicit.
3.·Simple·is·than·complex.
4.·is·better·than·complicated.
NORMAL
80%
4:4
 
:changes
change line  col text
    3     1   28 1. Beautiful is better than .
    2     2   22 2. Explicit is better implicit.
    1     3   13 3. Simple is than complex.
>   0     4    3 4. is better than complicated.

Note that the ">" has moved up one step, and the numbers assigned to each change have changed as well. The number assigned to each change indicates the number of steps in each direction we need to move (relative to the current position) in order to move to that step.

g; and g, accept counts, allowing them to "step over" multiple positions at a time while traversing the list. To jump directly to a specific change in the list, simply prefix the appropriate command with the change number.

To see how that works, lets move to change #2:

Go to specific change
2g;
1.·Beautiful·is·better·than·.
2.·Explicit·is·better·implicit.
3.·Simple·is·than·complex.
4.·is·better·than·complicated.
NORMAL
40%
2:23
 

and we can confirm we are now at the intended line.