4

在看了关于逃犯的伟大vimcast 系列之后,我尝试使用它一段时间。但我有一些奇怪的事情发生。所以这里有一个问题

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

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

然后,当我尝试查看状态时,:Gstatus我得到:

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

而不是预期的:

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

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

4

2 回答 2

4

:Gstatus命令使用preview window,并且在 split 上方:pedit以普通方式打开(与 一样)。如果您有垂直拆分,预览窗口将被限制为当前窗口列(如您在问题中说明的那样)。

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

于 2014-06-25T11:52:28.087 回答
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

于 2015-06-11T04:18:22.423 回答