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

git commit打开两个编辑器窗格,而不是一个来输入消息,git,commit,vi,Git,Commit,Vi,当我运行git commit时,它会打开两个vi编辑器窗格,而不是一个。顶部窗格完全空白。底部窗格是我在运行git commit时希望看到的。每次我想要提交时,我必须先使用:q关闭顶部窗格,然后才能编写提交消息 以前有人见过这样的东西吗?解决方案是什么?我不知道为什么会这样,但我在.vimrc中注释了一行更改了配色方案的内容。 色彩方案已日晒。似乎已经解决了这个问题。我猜git提交希望使用vi而不进行定制,并且出于某种原因,当存在不同的配色方案时,会打开一个辅助窗格 更新: 通过将my.vim

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


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

我不知道为什么会这样,但我在.vimrc中注释了一行更改了配色方案的内容。
色彩方案已日晒
。似乎已经解决了这个问题。我猜git提交希望使用vi而不进行定制,并且出于某种原因,当存在不同的配色方案时,会打开一个辅助窗格


更新:

通过将my.vimrc中的
colorscheme solarized
行放入if块中,查看它是否被
git commit
调用,修复了此问题

已更改。vimrc:

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

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

这也可能发生在其他应用程序中,因此您可以在
~/.bashrc
中设置
可视
和/或
编辑器
环境变量(或/以及特定于git的
git_编辑器
)以解决此问题:

EDITOR=vim
VISUAL=vim
或者,您可以将git本身配置为使用vim:


git config--global core.editor“vim”

如果您先关闭另一个面板(如中所示),问题是否会在下一个提交消息中持续存在?以下内容的输出是什么:
git config--global core.editor
echo$git\u editor
@VonC-我始终必须关闭另一个面板。除非先关闭另一个面板,否则我无法将光标移动到要写入提交消息的面板。@Mondkin-这两个命令都不会产生任何结果。我做了
git config--global core.editor vi
,也做了
导出git_editor=vi
,但这对我的问题没有帮助。那么,你的
.vimrc
中有什么?很好的反馈,+1。不知道为什么配色方案很重要。如果有人知道原因,请更新!