2

При наборе текста мне не нравится, как курсор медленно опускается к нижней части экрана. Вместо этого я бы предпочел, чтобы курсор оставался на том же месте, а текст над курсором двигался вверх. Я знаю о параметре 'scrolloff', но он мне не нравится, так как он портит команды H, L и M, а команда 'zz' слишком хлопотна.

Кто-нибудь знает, как добиться этого поведения в VIM?

2 ответа2

1

Как дешевый и нежный способ сделать это, вы можете использовать

:imap <CR> <ESC>zzo

выполнять zz каждый раз, когда вы нажимаете Enter в режиме вставки.

1

Вы можете установить 'scrolloff' на большое число, чтобы курсор оставался в центре экрана:

:set scrolloff=9999

Чтобы сделать это только в режиме вставки, вам нужно использовать autocmd:

:autocmd InsertEnter * :set scrolloff=9999
:autocmd InsertLeave * :set scrolloff=0

Если у вас отключена перенос строки, вы можете сделать то же самое с параметром 'sidescrolloff' .

Поместите эти команды в ~/.vimrc (~/_vimrc для Windows), чтобы сделать их постоянными.

Увидеть:

:help 'scrolloff'
:help 'sidescrolloff'
:help autocmd.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .