通常,当quickfix窗口打开时,它会更改屏幕布局,但Vim会恢复
当那个窗口关闭时
当那个窗口关闭时
但是有一种情况是布局恢复失败:什么时候
预览窗口打开,垂直分割呈现并执行:wincmd J
在quickfix中(或者使用:botright copen打开).在这种情况下的大小
预览窗口已更改.
我带来了一个解决方案,我放在〜/ .vim / ftplugin / qf.vim上,
" Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif " expand quickfix when there are vertical splits wincmd J func! RestorePreviewWindow() let l:quickfixHeight = winheight(0) wincmd p " include prevIoUs window on jump list silent! wincmd P " jump to preview window if &previewwindow " if we really get there... exe "resize " . (&previewheight - l:quickfixHeight - 1) wincmd p " back to old window endif endfunc augroup quickfixClosing au! au BufDelete <buffer> call RestorePreviewWindow() augroup END
,但我想知道是否有更好/更简单的解决方案
问题.
解决方法
如果你可以用普通的Vim(vim -N -u NONE)重现问题,我会把它报告给
vim_dev mailing list,把它固定在Vim里面.当其他普通窗口可以支持时,预览窗口不应改变其大小.