Когда я переключаю минибуфэксплорер, как остановить изменение размера окна при открытом окне
Мои настройки.vimrc:
nmap <silent><F1> :NERDTreeToggle<CR>
nmap <silent><F2> :TMiniBufExplorer<CR>
let g:miniBufExplMapWindowNavVim = 1
let g:NERDTreeWinPos = "right"
Сначала это выглядит так:
--------------------------
| minibufexplorer | |
--------------------- |
| | |
| top | |
| | |
---------------------NERD|
| | |
| btm | |
| | |
--------------------------
Затем, когда я нажимаю F2, переключатель минибуфера был переключен:
--------------------------
| | |
| | |
| top | |
| | |
---------------------NERD|
| | |
| btm | |
| | |
--------------------------
прямо сейчас видно, что все в порядке, но когда я снова нажимаю F2 и появляется минибуфэксплорер, размер верхнего окна изменяется:
--------------------------
| minibufexplorer | |
--------------------- |
| top | |
---------------------NERD|
| | |
| | |
| | |
| btm | |
| | |
--------------------------
Если справа нет окна nerdtree, оно не изменится. Так как остановить изменение размера окна, когда открыт ботрид? (кстати: извините, я не могу загрузить фото, потому что у меня только 8 репутации.)
1 ответ
Проблема в строке 450 файла miniufexpl.vim: в функции StartExplorer
, ты найдешь set noequalalways
, От :help equalalways
:
При включении все окна автоматически становятся одинаковыми по размеру после разделения или закрытия окна. Это также происходит в тот момент, когда опция включена. Когда выключено, разделение окна уменьшит размер текущего окна и оставит другие окна такими же. При закрытии окна дополнительные строки передаются окну рядом с ним (в зависимости от "splitbelow" и "splitright"). При смешивании окон, разделенных по вертикали и горизонтали, вычисляется минимальный размер, и некоторые окна могут быть больше, если есть место. Опция 'eadirection' указывает, в каком направлении изменяется размер. Изменения высоты и ширины окна можно избежать, установив winfixheight и winfixwidth соответственно. Если размер окна указан при создании нового окна, то размеры в данный момент не уравниваются (это сложно, но может быть реализовано в будущем).
Это часть MiniBufExplorer, и если вы хотите, чтобы он вел себя по-другому, вам придется либо изменить его самостоятельно, либо отправить вопрос автору.