Ещё как вариант
Текст до курсора - от начала памяти и до курсора
Текст после курсора в конце памяти
Т.е свободное место в середине
При перемещении курсора - перемещаем строки в памяти
А т.к в основном перемещение в ближайших строках то вообще нет тормозов
Да и своп в такую схему легко добавить

Зато нет необходимости сдвигать блок при вставке в начало текста
Да и доп расходом по памяти мало