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