加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim – Quickfix&Preview窗口调整大小

发布时间:2020-12-15 20:59:09 所属栏目:安全 来源:网络整理
导读:通常,当quickfix窗口打开时,它会更改屏幕布局,但Vim会恢复 当那个窗口关闭时 但是有一种情况是布局恢复失败:什么时候 预览窗口打开,垂直分割呈现并执行:wincmd J 在quickfix中(或者使用:botright copen打开).在这种情况下的大小 预览窗口已更改. 我带来了
通常,当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里面.当其他普通窗口可以支持时,预览窗口不应改变其大小.

如果这只是您设置的一个特点,我认为您实施的解决方案很好;我可能会沿着同样的路线解决它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读