Even that wouldn't help much, at least on 32-bit systems. You've got a
choice there between reading everything into memory as (X)Emacs does, or
mmap()ing with MMAP_PRIVATE and having a well-under-4Gb maximum file size
limit *and* a requirement to configure huge amounts of swap space, or a
loooong wait as the file gets copied to new storage at startup (vim of big
files on slow NFS storage is *painful*, much worse than Emacs), or even an
editor that essentially implements its own VM management and a sliding
file access window, copying changed bits to a new file, which would
necessarily crap out if the file was changed out from underneath it. (I've
never seen anyone implement the latter, and no surprise: it would be
really difficult and have no real advantages).
I'd like to find an ideal middle road, but I'm not sure there is one.