Git 为什么只有centerwindow拆分为:Gstatus?

Git 为什么只有centerwindow拆分为:Gstatus?,git,vim,vim-fugitive,Git,Vim,Vim Fugitive,在看了《关于逃犯的伟大故事》之后,我试着用了一段时间。但我有点奇怪。所以这里有一个问题: 当我有合并冲突并打开文件时,我会得到布局 ---------------------------- | | | | | target | working | merge | | (HEAD) | copy | | | | | | ---------------------------- 然后,当我尝试使用

在看了《关于逃犯的伟大故事》之后,我试着用了一段时间。但我有点奇怪。所以这里有一个问题:

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

----------------------------
|        |         |       |
| target | working | merge |
| (HEAD) |  copy   |       |
|        |         |       |
----------------------------
然后,当我尝试使用
:Gstatus查看状态时,我得到:

----------------------------
|        | status  |       |
| target |---------| merge |
| (HEAD) | working |       |
|        |  copy   |       |
----------------------------
而不是预期的:

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

我可以做些什么来找出问题所在以及如何修复它?

命令使用预览窗口,该窗口将作为拆分上方的普通窗口打开(与
:pedit
相同)。如果有垂直拆分,预览窗口将限于当前窗口列(如问题中所示)

我不知道您的期望来自何方,但您可以要求Survious的维护人员使用
:topleft pedit打开预览窗口(如果它还不存在),以获得您想要的行为。要解决此问题,请在
:Gstatus
之前的正确位置打开预览窗口,或在之后使用
:wincmd K
K
更正布局

这对我来说很有效,完全实现了你的目标


来源:

期望来自于观看我链接到的vimcast视频。我最终用你的想法为我制作了一张地图:
nmap gs:gstatuskkkp
。(
:Gstatus
打开状态,
k
上移到状态缓冲区,
k
更正布局,
p
移回上一个缓冲区)@kalbasit的解决方案会更完整,但这一行对我来说很有用,因为我没有任何理由键入
:Gstatus
,而不是映射。
set previewheight=15
au BufEnter ?* call PreviewHeightWorkAround()
func PreviewHeightWorkAround()
  if &previewwindow
    exec 'wincmd K'
    exec 'setlocal winheight='.&previewheight
  endif
endfunc