Как заставить VIM / GVIM показывать последнюю строку буфера внизу (вместо вершины)?

StackOverflow https://stackoverflow.com/questions/1218904

  •  10-07-2019
  •  | 
  •  

Вопрос

Если вы используете колесо мыши (или полосу прокрутки) для прокрутки до нижней части текущего буфера, тогда VIM позволяет "прокручивать ниже" нижняя часть файла. Так что последняя строка появляется вверху текущего буфера. Это приносит мне большую боль, так как новичок VIM имел обыкновение иметь дело с другими редакторами (особенно MS VS).

Есть ли способ отключить "прокрутку внизу"?

Это было полезно?

Решение

Ну, если вы наберете 'zb' в командном режиме, текущая строка перейдет к нижней части экрана. Это на самом деле не помешает вашей проблеме, но это по крайней мере быстрый способ исправить ее, когда это произойдет.

Другие советы

Настройте смещение прокрутки с помощью следующего параметра.

:set scrolloff=NUMBER

Где NUMBER - количество строк вокруг курсора.

Выдержка из встроенной справочной системы Vim:

'scrolloff' 'so'        number  (default 0)
                    global                                                                                                                 
                    {not in Vi}
    Minimal number of screen lines to keep above and below the cursor.
    This will make some context visible around where you are working.  If
    you set it to a very large value (999) the cursor line will always be
    in the middle of the window (except at the start or end of the file or
    when long lines wrap).
    For scrolling horizontally see 'sidescrolloff'.
    NOTE: This option is set to 0 when 'compatible' is set.

Если вы не возражаете, что он перемещает курсор, это работает:

noremap <ScrollWheelUp> H5k
noremap <ScrollWheelDown> L5j
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top