Current behavior:
:Gvdiffsplit diffs the current buffer against . This covers the common case well (working file vs a commit).
Requested:
:Gvdiffsplit — open a vertical split showing :file on the left and :file on the right, where file is the current buffer's file.
This is the equivalent of VCSCommand's :VCSVimDiff rev1 rev2, which showed two arbitrary revisions of the current file side by side.
Use case:
When reviewing a file's history, I often want to compare two old revisions directly — not against the working copy. For example, comparing the state before and after a refactoring series:
" Today: requires manual Gedit + split + diffthis (5 commands)
:tabnew
:Gedit abc1234:path/to/file
:vertical rightbelow split
:Gedit def5678:path/to/file
:windo diffthis
" Requested: one command
:Gvdiffsplit abc1234 def5678
A range syntax like :Gvdiffsplit abc1234..def5678 would also work.
Context: I migrated from VCSCommand to fugitive. This is the only VCSCommand feature I haven't been able to replace with a native fugitive command — I currently have ~60 lines of custom Lua to work around it.
Current behavior:
:Gvdiffsplit diffs the current buffer against . This covers the common case well (working file vs a commit).
Requested:
:Gvdiffsplit — open a vertical split showing :file on the left and :file on the right, where file is the current buffer's file.
This is the equivalent of VCSCommand's :VCSVimDiff rev1 rev2, which showed two arbitrary revisions of the current file side by side.
Use case:
When reviewing a file's history, I often want to compare two old revisions directly — not against the working copy. For example, comparing the state before and after a refactoring series:
" Today: requires manual Gedit + split + diffthis (5 commands)
:tabnew
:Gedit abc1234:path/to/file
:vertical rightbelow split
:Gedit def5678:path/to/file
:windo diffthis
" Requested: one command
:Gvdiffsplit abc1234 def5678
A range syntax like :Gvdiffsplit abc1234..def5678 would also work.
Context: I migrated from VCSCommand to fugitive. This is the only VCSCommand feature I haven't been able to replace with a native fugitive command — I currently have ~60 lines of custom Lua to work around it.