【问题标题】:git commit opens up two editor panes instead of one to enter messagegit commit 打开两个编辑器窗格而不是一个来输入消息
【发布时间】:2015-03-11 20:57:03
【问题描述】:

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

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

【问题讨论】:

  • 如果你先关闭另一个面板(如stackoverflow.com/a/4810928/6309),问题会在下一个提交消息中持续存在吗?
  • git config --global core.editorecho $GIT_EDITOR 的输出是什么
  • @VonC - 我总是必须关闭另一个面板。除非我先关闭另一个面板,否则我无法将光标移动到我将编写提交消息的面板。
  • @Mondkin - 这两个命令都没有结果。我做了git config --global core.editor vi,也做了export GIT_EDITOR=vi,但这对我的问题没有帮助。
  • 那么,你的.vimrc 里有什么?

标签: git commit vi


【解决方案1】:

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


更新:

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

改变了.vimrc:

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

【讨论】:

  • 很好的反馈,+1。不知道为什么配色方案很重要。
  • 如果有人弄清楚为什么更新!
【解决方案2】:

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

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

EDITOR=vim
VISUAL=vim

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

git config --global core.editor "vim"

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 2012-05-30
    • 2018-04-03
    • 1970-01-01
    • 2020-04-29
    • 2022-11-06
    • 1970-01-01
    • 2020-04-27
    相关资源
    最近更新 更多