- ]c - next difference
- [c - previous difference
- Ctrl+w+w - switch windows
- do - diff obtain
- dp - diff put
- zo - open folded text
- zc - close folded text
:diffupdate
- re-scan the files for differences
- Ctrl+W h move to the window on the left
- Ctrl+W j move to the window below
- Ctrl+W k move to the window above
- Ctrl+W l move to the window on the right
- Ctrl+W t move to the TOP window
- Ctrl+W b move to the BOTTOM window
- Ctrl+W K move window to the upper
- Ctrl+W H move window to the far left
- Ctrl+W J move window to the bottom
- Ctrl+W L move window to the far right
" vimdiff diffget mappings.
map <Leader>1 :diffget LOCAL<CR>
map <Leader>2 :diffget BASE<CR>
map <Leader>3 :diffget REMOTE<CR>
git config --global merge.tool=vimdiff
In the middle file (future merged file), you can navigate between conflicts with ]c
and [c
.
Choose which version you want to keep with :diffget //2
or :diffget //3
(the //2
and //3
are unique identifiers for the target/master copy and the merge/branch copy file names).
:diffupdate "(to remove leftover spacing issues)
:only "(once you’re done reviewing all conflicts, this shows only the middle/merged file)
:wq "(save and quit)
git add .
git commit -m "Merge resolved"
If you were trying to do a git pull
when you ran into merge conflicts, type git rebase –continue
.
Original: https://gist.github.com/roothybrid7/4006437
Forked from: https://gist.github.com/zertrin/5652966
Merged formatting & some changes from: https://gist.github.com/Salokyn/1671013e73e8038f4f0219ec37a91426