В дополнение к обычным вертикальным движениям я использую модифицированную версию https://stackoverflow.com/questions/4946421/vim-moving-with-hjkl-in-long-lines-screen-lines. Я обычно двигаюсь с помощью клавиш со стрелками, а не hjkl (долгое время пользователь других редакторов, прежде чем я нашел Vim, также использовал стрелки /Home /end /PgUp /PgDn для переключения, даже после 5+ лет эксклюзивного использования Vim).
function! ScreenMovement(movement)
if &wrap
return "g" . a:movement
else
return a:movement
endif
endfunction
map <expr> <C-Down> ScreenMovement("j")
map <expr> <C-Up> ScreenMovement("k")
map <expr> <C-Home> ScreenMovement("0")
map <expr> <C-End> ScreenMovement("$")
Удерживая Ctrl, я могу перейти к началу / концу или вверх / вниз отображаемых строк. Для меня это более эффективно, чем альтернативы, по крайней мере.
Почти забыл: мне нужно было изменить.Xdefaults для его работы, в частности, urxvt, но это, вероятно, не по теме (с ответами в Google).