在选项卡中仅获取git diff输出

时间:2019-01-26 12:07:32

标签: git vim vim-fugitive

我只想在标签git diff中获得整个仓库的Not Split With The Commit Message 的输出,而不仅仅是文件

issues中,我发现了:

command GdiffInTab tabedit %|Gdiff

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

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

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

1 个答案:

答案 0 :(得分: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'] : []))

使用:Tdiff进行git diff:Tdiff!进行git diff --cached

有关更多帮助,请参见:

:h :tab
:h :terminal