Может быть ctrldи ctrluможет быть то, что вы ищете. По умолчанию они перемещают половину экрана.
От :h CTRL-D
:
Окно прокрутки вниз в буфере. Количество строк определяется параметром «прокрутка» (по умолчанию: половина экрана).
Если задано значение [количество], сначала установите для параметра «прокрутка» значение [количество].
Это означает, что в первый раз, когда вы хотите прокрутить окно, вы можете сделать, XXctrldгде XX - это 25% от числа строк в вашем окне. Когда он устанавливает scroll
значение XX, вы можете использовать ctrldи ctrluдля перемещения 25% экрана.
Кроме того, я думаю, что это :h scrolling
может быть интересно для вас.
редактировать
А вот еще одно решение с функцией и некоторыми сопоставлениями, которые нужно добавить к вашему .vimrc
:
function! ScrollQuarter(move)
let height=winheight(0)
if a:move == 'up'
let key="\<C-Y>"
else
let key="\<C-E>"
endif
execute 'normal! ' . height/4 . key
endfunction
nnoremap <silent> <up> :call ScrollQuarter('up')<CR>
nnoremap <silent> <down> :call ScrollQuarter('down')<CR>
Функция получит высоту текущего окна и соответственно ее параметру прокрутит экран вверх или вниз на четверть высоты.
Сопоставления вызовут функцию: первый поднимется, а второй снизится.
Конечно, вы можете изменить <up>
и <down>
некоторые другие клавиши, если хотите сохранить поведение клавиш со стрелками по умолчанию.