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