2009-11-25 73 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" 
相關問題