6

Как вы увеличиваете или уменьшаете высоту или ширину буфера vim таким образом, чтобы при нажатии комбинации клавиш размер буфера постоянно менялся?

Я знаю, что CTRL W < работает, но он перемещает его по одной единице за раз. Я ищу способ, которым, когда вы делаете CTRL W < и удерживаете нажатой < , VIM изменяет ширину буфера плавно (постоянно), пока вы не отпустите <.

2 ответа2

5

Вы также можете использовать 10 ctrl-w < или 10 ctrl-w > чтобы изменить его на 10 единиц.

5

Попробуйте это:

:nmap ^[> :vertical res +1^M
:nmap ^[< :vertical res -1^M

Чтобы ввести ^[ , нажмите Ctrl - v, затем Esc. Чтобы ввести ^M , нажмите Ctrl - v, затем Enter.

Как предложил Heptite в комментарии, вы можете использовать ключевые обозначения вместо буквенных символов:

:nmap <Esc>> :vertical res +1<Enter>
:nmap <Esc>< :vertical res -1<Enter>

Результаты в том же отображении, что и в примере сверху.

Теперь вы можете удерживать Alt - Shift - >, чтобы плавно увеличить ширину, или Alt - Shift - <, чтобы плавно увеличить ее. Мне немного странно использовать его в правом окне, потому что я думаю, что я перемещаю разделитель влево и вправо, но это не то, что происходит.

Для изменения размера горизонтально разделенных окон:

:nmap ^[+ :res +1^M
:nmap ^[- :res -1^M

Это обычные клавиши «плюс» и «минус», а не те, что на клавиатуре. На клавиатуре США, кроме Alt, я держу Shift для +, но не Shift для -.

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