" We don't want the status line to cause problems: set laststatus=0 redraw! let g:totalLines = &lines * 20 let middle = g:totalLines / 2 wincmd n wincmd o for i in range(1, g:totalLines) call setline(i, 'LINE ' . i) endfor exe string(middle) normal zt normal M aboveleft vert new for i in range(1, g:totalLines) call setline(i, 'line ' . i) endfor exe string(middle) normal zt normal M setl scb wincmd p setl scb wincmd w