我的.vimrc设置:
nmap <silent><F1> :NERDTreeToggle<CR>
nmap <silent><F2> :TMiniBufExplorer<CR>
let g:miniBufExplMapWindowNavVim = 1
let g:NERDTreeWinPos = "right"
首先看起来像:
--------------------------
| minibufexplorer | |
--------------------- |
| | |
| top | |
| | |
---------------------NERD|
| | |
| btm | |
| | |
--------------------------
接下来当我按F2时,minibufexplorer被切换:
--------------------------
| | |
| | |
| top | |
| | |
---------------------NERD|
| | |
| btm | |
| | |
--------------------------
现在看来好像一切都好 但是当我再次按F2并且minibufexplorer出现时 然后调整了顶部窗口的大小:
--------------------------
| minibufexplorer | |
--------------------- |
| top | |
---------------------NERD|
| | |
| | |
| | |
| btm | |
| | |
--------------------------
如果右侧没有nerdtree窗口,则不会调整大小。 那么当nerdtree打开时如何停止调整窗口大小? (顺便说一句:抱歉,我无法上传图片因为我只有8个声望。)
答案 0 :(得分:6)
问题出在minibufexpl.vim的第450行:在函数StartExplorer
中,您会找到set noequalalways
。来自:help equalalways
:
启用此选项后,分割或关闭窗口后,所有窗口将自动调整为相同大小。这也会在选项打开时发生。 关闭时,拆分窗口将减小当前窗口的大小,并使其他窗口保持不变。关闭窗口时,额外的行将被赋予其旁边的窗口(取决于“splitbelow”)和'分裂')。当垂直和水平分割窗口混合时,计算最小尺寸,并且如果有空间,则一些窗口可能更大。 'eadirection'选项告诉大小受影响的方向。通过分别设置'winfixheight'和'winfixwidth',可以避免更改窗口的高度和宽度。如果在创建新窗口时指定了窗口大小,则当前大小不均衡(它很复杂,但将来可能会实现)。
这是MiniBufExplorer的一部分,如果您希望它的行为不同,您需要{} 3 {}或change it yourself给作者。