2009-11-25 132 views
9

我运行“git commit”后出现以下错误。为什么我说“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上。

感谢您的帮助。

回答

11

它看起来像你的git编辑器没有设置和vi有一个搞砸插件或在你的mac上的东西。尝试在你的提交中使用-m“comment here”参数。

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

+0

是的,一个插件的问题。我完全搞不明白为什么它试图发布一个编辑器,但现在我明白了。开关“-m”完全工作......我想我应该阅读所有可用的开关 – iJK 2009-11-25 21:33:37

3

首先,你确定你想要做git commit .git commit通常是你想要的。

错误消息来自您的编辑器。它看起来像git正在尝试调用vi,但有一些类似于您的.vimrc的设置,您正在使用的命令行vi不受支持。

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

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

+0

是的,我想说“git commit”..对不起这里newbee ;-)我很困惑,为什么它试图打开vi编辑器,但现在我知道为什么。是的,我得到相同的错误信息,为什么我尝试打开vi或vim。我必须弄清楚那里发生了什么。我使用环境变量改变了我的编辑器,所以我想我可以放松一会儿。 – iJK 2009-11-25 21:30:30

+0

你有vim安装程序吗?当你在命令行上打开vim时,你会得到同样的错误吗? git试图打开不同于通常使用的vim版本吗? – stefanB 2009-11-25 21:46:52

0

看起来你在Mac上使用CSApprox vim插件。但是,Mac的终端不支持256种颜色(我相信只有16种颜色)。

您可以尝试iTerm而不是mac的终端。但请注意内存使用情况。

另外,如果你走这条路线,告诉终端通过添加以下内容到〜/ .vimrc中支持256个色VIM:

set t_Co=256 

如果这一切失败,你不介意默认色彩方案使用从终端VIM时,可以加载的色彩方案仅针对的MacVim(并完全地移除CSApprox插件):

if has('gui_running') 
    :colorscheme wombat 
endif 
21

这将解决这个问题:

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

这对我来说非常合适,似乎是更正确的艾莫。 – Core 2015-06-22 17:16:51

0

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

git config --global core.editor "/usr/bin/vim --noplugin" 
相关问题