The changelist
The changelist keeps track of the position of every change that happens in the buffer. When you make a change, the position of the cursor is remembered in the changelist so that we can return to it later.
This is quite similar to the ". mark — but instead of only keeping track of the last change that was made, it keeps track of the whole history of changes. This means we can jump back multiple changes if we want!
The command for jumping backwards in the changelist is g;. Hitting g; just once has the same effect of jumping to the ". mark with `.. But if you hit it again, you’ll notice that it takes you to the change before that. Another hit will take you to the change before that, and so on.
We can also move forward in the changelist with g,, which just moves us in the opposite direction to g;.
Both of these commands take counts, so you can type 10g; to jump ten changes backwards, for example.
Final note: the changelist is buffer local, so you can’t use it to jump between files.
Let’s try it in the editor. This is the same document as in the last section, but this time we’re going to use the changelist to move around. As before, make some edits on each of the lines, but this time use g; and g, to jump back and forth between your changes.