2012-11-27 46 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