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

时间:2015-01-13 19:28:17

标签: git commit vi

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

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

2 个答案:

答案 0 :(得分:3)

我不知道为什么会这样,但我在.vimrc中注释了一行改变了colorscheme的行。 colorscheme solarized。似乎以某种方式修复了问题。我想git commit想要在没有自定义的情况下使用vi,并且出于某种原因,当存在不同的colorscheme时会打开辅助窗格。


更新:

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

更改了.vimrc:

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

答案 1 :(得分:2)

我认为问题是Git不知道你想使用什么编辑器,所以它默认运行vi,这会在兼容模式下启动Vim。

其他应用也可能发生这种情况,因此您可以在VISUAL和/或EDITOR环境变量(或/以及特定于git的GIT_EDITOR)中设置{ {1}}解决此问题:

~/.bashrc

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

EDITOR=vim VISUAL=vim