git commit 打开两个编辑器窗格而不是一个来输入消息

git commit opens up two editor panes instead of one to enter message

当我 运行 git commit 它打开 2 个 vi 编辑器面板而不是一个。顶部窗格完全空白。底部窗格是我希望在 运行 宁 git commit 时看到的内容。每次我想提交时,我都必须使用 :q 关闭顶部窗格,然后才能编写我的提交消息。

有人以前见过这样的东西吗?解决方法是什么?

我不知道为什么会这样,但我在我的 .vimrc 中注释掉了一行,它改变了配色方案。 colorscheme solarized。似乎以某种方式解决了问题。我想 git 提交想要使用 vi 而不进行自定义,并且出于某种原因在存在不同的配色方案时打开辅助窗格。


更新:

通过将我的 .vimrc 中的 colorscheme solarized 行放在 if 块中以查看它是否被 git commit 调用来修复。

已更改 .vimrc:

if $_ != 'git commit' 
colorscheme solarized 
endif

我认为问题在于 Git 不知道您要使用哪个编辑器,因此它默认运行 vi,在兼容模式下启动 Vim。

其他应用程序也可能发生这种情况,因此您可以设置 VISUAL and/or EDITOR 环境变量(or/as 以及 git-具体 GIT_EDITOR) 在你的 ~/.bashrc 中解决这个问题:

EDITOR=vim
VISUAL=vim

或者,您可以配置 git 本身以使用 vim:

git config --global core.editor "vim"