To edit anywhere in a buffer, whether there are characters there or not,
set ve=all. Doesn't let you go past the end of the buffer, so you might have to add some lines.
Saw it while looking at this ascii drawing plugin
ve is short for
virtualedit; docs here