Я только что столкнулся с той же ситуацией (только с двумя окнами для сравнения), и то, что я сделал, было:
:set cursorbind
:set scrollbind
:set cursorline
, а затем
:map <Down> j<C-w><C-w><C-w><C-w>
:map <Up> k<C-w><C-w><C-w><C-w>
Это приводит к тому, что каждое нажатие на стрелки вверх или вниз переключает назад и вперед между окнами один раз, что обновляет позицию курсора в другом окне (Вы можете :redraw!<CR>
вместо уродливого переключения окна, но это выглядит плохо при движении слишком быстро). Конечно, есть много способов перемещаться между строками без стрелок, так что это далеко от совершенства.
Однако, поскольку это не основной способ работы для меня, полезный в первую очередь для сравнения файлов, для которых diff
слишком сложен, чтобы смотреть по какой-либо причине, я считаю этот параметр достаточно хорошим.