Stefan Liebl ed396818c8 improve gvimmerge
Change-Id: Ia6b607be73379819c3a64a3980ba05acf827fa23
2014-06-24 10:38:39 +02:00

38 lines
940 B
VimL

function s:OpenDiffTab(left, right)
tabnew
execute 'buffer' a:left
diffthis
execute 'rightbelow vertical sbuffer' a:right
diffthis
endfunction
function s:FixLineendings()
if !exists('b:reload_dos') && !&binary && &ff=='unix' && (0 < search('\r$', 'nc'))
edit ++ff=dos
echom 'fixed lineendings'
let b:reload_dos = 1
endif
endfunction
function s:OpenMergeTabs()
set columns=200
call s:OpenDiffTab(2, 4)
call s:FixLineendings()
setlocal noreadonly modifiable
call s:OpenDiffTab(1, 4)
call s:OpenDiffTab(3, 4)
call s:OpenDiffTab(1, 2)
call s:OpenDiffTab(1, 3)
call s:OpenDiffTab(2, 3)
tabfirst
tabclose
" turn off line formatting
setlocal formatoptions=
" set search pattern to conflict markers
let @/ = "[<>=]\\{7}"
" set last command to 'save and close'
call histadd('cmd', 'w | qa')
endfunction
call s:OpenMergeTabs()