从命令行启动vim-fugitive

9

我非常喜欢Fugitive(VIM git包装插件)。然而,我想创建一个脚本,启动Vim并运行以下命令:

:Gstatus 

立即执行。但是当我尝试时

vim -c Gstatus

我收到一个错误提示说Gstatus 不是编辑器命令

在您的会话中,逃犯插件可能尚未加载或无法发挥其作用。您能否在启动Vim时不打开任何文件并执行:GStatus命令? - romainl
1
似乎 fugitive 除非加载了一个属于 git 存储库的文件,否则不能正常工作。当前目录满足这个条件,所以使用当前目录作为当前文件启动 gvim 可以解决问题。请参考下面我的回答。 - bradgonesurfing
5个回答

6

vim +Gstatus +only 是可行的。我已将其设置为别名 vimg


1
这很完美,尽管+Gstatus现在已被弃用,取而代之的是+Git - chb
+Gstatus is deprecated. Instead do vim +Git +only - Miron Veryanskiy

4

这个有效

gvim -c 'Gstatus | wincmd j | hide' .

将逃逸窗口设为全屏并隐藏目录浏览器缓冲区。同时,当您退出逃逸缓冲区时,由于目录缓冲区被隐藏,vim也会关闭。


我更喜欢使用 vim -c Gstatus .,因为它可以给我一个窗口来查看差异(在光标行上按下 D),而不需要关闭状态窗口。 - Ricardo Stuven
1
当启用NERDTree插件时,“.”目录技巧无法使用,但“.”可以被任何其他不存在的文件名替换。 - Ricardo Stuven
仅适用于PowerShell/Windows用户的YFI - 对我来说,“.”作为Vim的文件参数不起作用,因此正如Ricardo建议的那样,我所做的就是将temp作为文件名。(Vim只会为“temp”创建交换文件)。 - Tahir Hassan

1
作为对bradgonesurfing的回答的轻微改进
vim -c 'Gstatus | wincmd o' .

这个也适用,即使你设置了 splitbelow

1
你可以这样做(假设你在项目根目录下):
$ vim -c 'view .git/index'

它以只读模式打开git索引(模拟:Gstatus命令的要点)。

你没有像 :Gstatus 那样丰富的映射可用,但它适用于提交。 - kba

0

运行 vim +Git +only

我是通过 @jsm3031 的答案到达这里的,他给了我正确的方向。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接