2012-11-27 62 views
2

我正在使用Fugitive插件。從`-c`命令行參數調用命令在Vim中不起作用

它有一個命令(?)Git!它執行一個命令並在新的緩衝區中打開結果。

例子:

:Git! diff --cached 

我有調用此,之後做一些其他的事情的功能。

而且我有這個命令聲明:

command! Hello execute ":Git! diff" 

如果我從VIM內運行:Hello,它的作品,因爲它應該。但是當我運行vim -c Hello時,它會拋出此錯誤:

Not an editor command :Git! diff 

我該怎麼做?

(PS:我怎樣才能讓留此錯誤消息,直到我按它出現約一秒鐘消失?)

+0

觸發檢測可以使用':mes'命令來查看消息歷史 –

回答

2

的原因是逃犯僅僅定義了其文件的Git下緩衝區的命令版本控制。確切地說,plugin/fugitive.vim中的代碼只設置了在Git控制下檢測文件的autocmds,然後才定義了緩衝區本地命令。

所以至少你需要將一個Git控制的文件傳遞給你的Vim調用。如果仍然無效,請嘗試通過明確

:doautocmd User Fugitive 
+0

權。我_was_從git目錄運行它,但將'.'作爲第一個參數('vim。-c Hello')完美運行。 – Dogbert