Картография будет делать то, что вам нужно
Сделайте это в левом окне:
:nmap <right> :let linenum=getpos('.')[1]\|:wincmd l\|:call cursor(linenum,0)<cr>
и сделайте это в правом окне:
:nmap <left> :let linenum=getpos('.')[1]\|:wincmd h\|:call cursor(linenum,0)<cr>
Затем вы можете использовать стрелки влево и вправо для переключения между окнами, и курсор перейдет к той же строке в другом окне.
Edit:
Я не внимательно прочитал ваш вопрос (позор мне! :).
Вот как получить именно то, что вы хотели:
В левом окне:
:nnoremap <right> :let offset=winline()\|wincmd l\|exe 'normal ' . offset . 'H'<cr>
и справа:
:nnoremap <left> :let offset=winline()\|wincmd h\|exe 'normal ' . offset . 'H'<cr>
Веселись!