Окно прокрутки на полпути между zt и zz в Vim - PullRequest
5 голосов
/ 09 ноября 2011

Мне часто хочется прокрутить окно Vim так, чтобы линия, на которой я нахожусь, была примерно на четверть экрана вниз - это дает больше места для дыхания, чем z t , но отображается больше кода, чем z z .Также полезно, когда мой курсор находится в начале функции, которую я хочу прочитать, но z t обрежет Javadoc-подобные комментарии.

Есть ликакую магию я могу использовать для этого?Боюсь, я совсем не понимаю сценарии Vim.

Ответы [ 2 ]

9 голосов
/ 09 ноября 2011

Возможно, set scrolloff=5 (или сколько строк выше и ниже курсора вы бы хотели) поможет вам. Это не совсем то, что вы просили, но достаточно близко?

6 голосов
/ 09 ноября 2011

Вы можете использовать:

nnoremap <expr> zT 'zt' . winheight(0)/4 . '<c-y>'
nnoremap <expr> zB 'zb' . winheight(0)/4 . '<c-e>'

, который переназначит zT на zt, за которым следует четверть текущей высоты окна и CTRL-Y (который прокручивает одну строку вверх, оставляя курсор там, где он есть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...