Cleanup on escape
Make sure each jump group placeholder replacement happens in its own TextCommand.
This is needed so that the edit is closed after each one allowing undo to work properly.