это совсем не просто, потому что если текст изменился, same position
больше не будет прежним.
Если вы хотите восстановить тот же самый выбор, вы можете использовать JSON метод
before = editor.selection.toJSON();
editor.setValue(editor.getValue() + "xxx")
editor.selection.fromJSON(before)
, но он, помимо потери производительности, не будет работать правильно в случае, когда линии сдвинуты, например, editor.setValue("xxx\n" + editor.getValue())
В общем случае лучше использовать методы session.insert / session.remove
editor.session.insert({row: 0, column: 0}, "xxx\n")
editor.session.remove({start: {row: 0, column: 1}, end: {row: 1, column: 1}})