0

我只想在选项卡中获取git diff 整个存储库的输出,而不仅仅是一个文件Not Split With The Commit Message

问题中我发现了一个:

command GdiffInTab tabedit %|Gdiff

但是这个打开了一个带有提交消息的拆分视图,我想要的是在编辑 git 提交消息时只在新选项卡中显示 git diff 。可能吗?或者我应该尝试自己做,比如:

function GitDiffTab()
  exe "tab new %"
  exe "%!git diff"
  exe "se ft=diff"
endfunction

但是在编辑提交消息时它不起作用。

4

1 回答 1

2

使用:terminal(需要 Vim 8.1+)

:-tab terminal git --no-pager diff

使用fugitive.vim我们可以创建一个命令:

command! -bang Tdiff execute '-tab terminal ' . call(fugitive#buffer().repo().git_command, ['--no-pager', 'diff'] + (<bang>0 ? ['--cached'] : []))

:Tdiffgit diff:Tdiff!git diff --cached

如需更多帮助,请参阅:

:h :tab
:h :terminal
于 2019-01-30T20:35:14.473 回答