Я считаю, что хитрость заключается не в загрузке всего файла в память, а в использовании поиска и тому подобного только для загрузки просматриваемой части (возможно, с блоком до и после, чтобы обработать небольшую прокрутку).Возможно, даже используя буферы с отображением в памяти, хотя у меня нет опыта работы с ними.
Вы понимаете, что изменение большого файла (быстро) отличается от простого его просмотра.Возможно, вам придется скопировать гигабайты данных, окружающих редактирование, в новый файл, что может быть медленным.