I have the following alias in my `.vimrc`:

```
inoremap ^Z ^[[s1z=``a

```

This allows me to press `^Z` (`C-z`) in insert mode to jump back to the last misspelled word and correct it to the first suggestion, then jump back to where the cursor was previously and reenter insert mode.

However, this doesn't work when the length of the word changes as a result of the correction. For example, using `[]` to represent the cursor, pressing `C-z` in the context of

```
A grea idea[]

```

will result in

```
A great ide[a]

```

but I want it to result in

```
A great idea[]

```

How can I get this kind of relative jump?