Vim (изменение размера окна): как мне легко сделать окна одинаково высокими только для одного столбца?

У меня есть вертикально разделенное окно, и окно далее горизонтально разделено в каждом столбце. Я хочу сделать высоту окон внутри одного столбца одинаковой, но не хочу изменять высоту внутри другого столбца (скажем, одно окно в другом столбце установлено на максимально возможное значение, например, с помощью CTRL-W_, и я не хочу это менять). Какой самый простой способ сделать это?

2 ответа

Решение

Если equalalways включен (это по умолчанию), закрытие разбиения изменяет размеры оставшихся разделений, чтобы быть равными. Так что просто создайте новый сплит, а затем закройте его.

:new | q

Отображение его на ключ (например, Leader+eq) будет выглядеть так:

nnoremap <Leader>eq :new \| :q<cr>

Самый простой способ, который я могу придумать, это использовать мышь

:set mouse+=a

а затем с помощью мыши перетащите и измените размер экрана в соответствии с вашими требованиями.


Без мыши, это возможно, но требует дополнительного набора текста. Перейдите к столбцу, размер которого вы хотите изменить. затем :resize #где # рассчитывается по выходным данным (set lines -2)/2 где 2 составляет cmdheight и 1 для statusline, Количество должно быть скорректировано соответственно для "cmdheights and statusline". Это громоздко

Трюк из @Ondrej предпочтителен, если в vim отключена мышь

Другие вопросы по тегам