为什么只有中心窗分为:Gstatus?

时间:2014-06-25 11:33:32

标签: git vim vim-fugitive

在看到关于逃犯的伟大vimcast-series后,我试图使用它一段时间。但我有一些陌生感。所以这是一个问题

当我遇到合并冲突并打开文件时,我会得到布局

----------------------------
|        |         |       |
| target | working | merge |
| (HEAD) |  copy   |       |
|        |         |       |
----------------------------

当我尝试使用:Gstatus查看状态时,我得到:

----------------------------
|        | status  |       |
| target |---------| merge |
| (HEAD) | working |       |
|        |  copy   |       |
----------------------------

而不是预期的:

----------------------------
|          status          |
|--------------------------|
| target | working | merge |
| (HEAD) |  copy   |       |
----------------------------

我该怎么做才能找出问题所在以及如何解决?

2 个答案:

答案 0 :(得分:4)

:Gstatus命令使用预览窗口,并将其打开(与:pedit一样)作为普通以上分割。如果您有垂直拆分,预览窗口将限制在当前窗口列(如您在问题中所示)。

我不知道你的期望来自哪里,但你可以让逃亡的维护者用:topleft pedit打开预览窗口(如果它还不存在),得到你想要的行为。要解决此问题,请在:Gstatus之前的正确位置打开预览窗口,或者在:wincmd K<C-w>K之后更正布局。

答案 1 :(得分:1)

set previewheight=15
au BufEnter ?* call PreviewHeightWorkAround()
func PreviewHeightWorkAround()
  if &previewwindow
    exec 'wincmd K'
    exec 'setlocal winheight='.&previewheight
  endif
endfunc

这对我来说非常有用,可以实现您正在寻找的目标。

来源:https://stackoverflow.com/a/3787326/301730