【问题标题】:Why do I get a warning after I say "git commit ."为什么我说“git commit”后会收到警告。
【发布时间】:2010-12-20 11:17:32
【问题描述】:

运行“git commit”后出现以下错误。

CSApprox needs gui support - not loading.
  See :help |csapprox-+gui| for possible workarounds.
Error detected while processing /Users/{username}/.vim/plugin/syntastic.vim:
line   94:
E319: Sorry, the command is not available in this version: sign define SyntasticError text=>> texthl=error
line   95:
E319: Sorry, the command is not available in this version: sign define SyntasticWarning text=>> texthl=todo
Press ENTER or type command to continue
error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

任何想法为什么会发生这种情况?我在 Mac 上。

感谢您的帮助。

【问题讨论】:

    标签: git macos


    【解决方案1】:

    这将解决这个问题:

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

    【讨论】:

    • 这对我来说非常有效,似乎更正确。
    【解决方案2】:

    您的 git 编辑器似乎没有设置,并且 vi 在您的 mac 上有一个搞砸的插件或其他东西。尝试在提交时使用 -m "comment here" 参数。

    我建议mv ~/.vim ~/.vimbak 并尝试再次运行 vi。

    【讨论】:

    • 是的,插件有问题。我完全困惑为什么它要尝试启动编辑器,但现在我明白了。开关“-m”完全有效......我想我应该阅读所有可用的开关
    【解决方案3】:

    首先,您确定要进行git commit . 吗? git commit 通常是你想要的。

    错误消息来自您的编辑器。看起来git 正在尝试调用vi,但是您正在使用的命令行vi 不支持您的.vimrc 之类的设置。

    当您从命令行调用 vi 时会发生什么?

    如果你不想使用vi 作为你的提交编辑器,你可以使用 GIT_EDITOR 环境变量来让 git 调用一个不同的编辑器。不过,您需要确保编辑器作为前台进程运行,以便git 知道您何时完成了对消息的编辑。一些编辑器可以通过启动器脚本来帮助解决这个问题,因为从终端调用时,编辑器(尤其是在 Mac OS X 中)作为后台进程启动是很常见的。

    【讨论】:

    • 是的,我想说“git commit”.. 对不起这里的新手 ;-) 我很困惑为什么它试图打开 vi 编辑器,但现在我知道为什么了。是的,为什么我尝试打开 vi 或 vim 时确实收到了相同的错误消息。我必须弄清楚那里发生了什么。我使用环境变量更改了我的编辑器,所以我想我可以放松一下。
    • 你有 vim 设置吗?当你在命令行打开 vim 时你会得到同样的错误吗? git 是否试图打开与您通常使用的不同版本的 vim?
    【解决方案4】:

    看起来您在 mac 上使用的是 CSApprox vim 插件。不过mac的终端不支持256色(我相信只有16色)。

    你可以试试iTerm 代替mac的终端。不过要注意内存使用情况。

    另外,如果你走这条路,告诉 vim 终端支持 256 色,方法是把它添加到你的 ~/.vimrc 中:

    set t_Co=256
    

    如果这一切都失败了,并且您不介意从终端使用 vim 时的默认颜色方案,您可以仅为 MacVim 加载颜色方案(并完全删除 CApprox 插件):

    if has('gui_running')
      :colorscheme wombat
    endif
    

    【讨论】:

      【解决方案5】:

      一些 vim 插件可能会导致这样的问题。以下配置为我解决了这个问题。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-10
        • 2012-08-10
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多