junegunn/gv.vim

add a divider line between files

djwgit opened this issue · 2 comments

enhance request,
it will be nice if could add a divider line between files for a commit.
thanks

@djwgit Current format is how git diff outputs them. Probably would be more useful to support folding the diffs?

Try the instructions here to setup diff folding (will work within gv): http://vim.wikia.com/wiki/Folding_for_diff_files

Or try this modification of DiffFold that lists each diff as a separate folded line:

function! DiffFold(lnum)
    " Fold a diff output as title and hunks underneath it. A big patch should
    " collapse to a bunch of diff commands with only 
    let line = getline(a:lnum)
    if line =~ '^diff '
        " Command as title
        return '>1'
    elseif line =~ '^\(---\|+++\|@@\) '
        " Diff blocks/hunks as subtitle
        return '>2'
    elseif line[0] =~ '[-+ ]'
        " Diff line is fold content
        return 2
    else
        " Add/delete files, index, etc are expanded with diff
        return 1
    endif
endfunction

You could setup a ~/.vim/after/ftplugin/diff.vim to setlocal foldlevel=0 so you always start diffs folded.

I've found easier to set ft=git | set fdm=syntax, which folds the diffs on the filenames.