无法执行编辑器

我经常不需要修改多个提交消息,但它曾经发生过一两次,我从未想过看到这一点。 我希望别人有。 当我git rebase -i HEAD~7 ,预期列表将在vi中完全按照预期打开。 我改变了pick值,在适当的地方进行edit ,然后:wq

结果: Could not execute editor

在我的全局.gitconfigcore.editor设置是vi (我也改变了vim在一个疯狂的绝望的举动)。 我尝试使用mate ,但是,甚至没有正确打开最初的列表,所以我把它改回来了。

我正在使用v1.7.3并欢迎任何build议。

昨天只是其中的一个。 在云雀,我决定设置完整path到vi(例如/usr/bin/vi ),而不仅仅是可执行文件。 现在一切正常。 我不得不承认,因为vi本身是完全可执行的(我的$EDITOR envvariables也被设置为vi ),所以我不明白,但是它在工作,而且我的技术业力最近也不是很好,所以也许我只是不应该质疑神会…

以下命令

 git config --global core.editor /usr/bin/vim 

修复它。

[编辑]

现在我看到有人已经把它发布在评论中。 希望它仍然有助于像我这样的盲人。

我有这个问题,这是由vim的vcscommand插件的一部分引起的。 用任何这些命令启动vim都会导致退出代码1(“错误”):

  • vi
  • vim

但是这些给了我退出代码0(“成功”):

  • /usr/bin/vi
  • /usr/bin/vim
  • vi -u NONE
  • vim -u NONE

我能够通过重命名它们并运行vi -cq ; echo $?来禁用~/.vimrc~/.vim的文件来追溯到特定的插件vi -cq ; echo $? vi -cq ; echo $? 快速运行vim并打印出口代码。

对我来说,这是我的.vimrc的一个问题。 暂时重命名该文件修复它。 随后debugging我的.vimrc。 这与ignu的经验非常相似。

如果你想以任何理由使用崇高,你可以在你的全局configuration文件中做如下的事情:

  git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" 

我花了一段时间来追查我的问题到我的插件之一。

(具体来说,是https://github.com/ervandew/supertab

我想这是自动更新我的所有插件的缺点。

所以最好的build议,禁用一半你的vimrc和插件。 如果这没有帮助,那么问题与你的另一半。

你确定/ usr / bin / vim在1.7.3上? 我有同样的问题,因为我已经安装了1.7.3支持的备份插件,由于某种原因,/ usr / bin / vim突然降级到1.7.2,可能是因为XCode的重大更新。 ..

我还有这个问题,当我已经有vim在另一个terminal打开rebase。 我已经开始了rebase,被打断了,当我回来的时候,我在另一个terminal从头开始尝试,没有意识到我在其他地方的同样的rebase。 刚刚在另一个terminal完成vim rebase会话工作正常。

奇怪的是,只是尝试再次为我工作。

我的core.editor和$ EDITORvariables没有设置。