为什么在我说“git commit”后会收到警告。

时间:2009-11-25 20:57:26

标签: git macos

运行“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上。

感谢您的帮助。

5 个答案:

答案 0 :(得分:21)

这将解决这个问题:

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

答案 1 :(得分:11)

看起来你的git编辑器没有设置,vi有一个混乱的插件或你的mac上的东西。尝试在提交时使用-m“comment here”参数。

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

答案 2 :(得分:3)

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

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

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

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

答案 3 :(得分:0)

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

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

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

set t_Co=256

如果所有这些都失败了,并且你不介意从终端使用vim时默认的colorscheme,你可以只为MacVim加载colorscheme(并完全删除CSApprox插件):

if has('gui_running')
  :colorscheme wombat
endif

答案 4 :(得分:0)

某些vim插件可能会导致此类问题。以下配置为我解决了这个问题。

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