Skip to content

Instantly share code, notes, and snippets.

@freeeflyer
Forked from mattratleph/vimdiff.md
Last active June 15, 2016 13:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save freeeflyer/3b587c189b5afe295f20129e2ef37059 to your computer and use it in GitHub Desktop.
Save freeeflyer/3b587c189b5afe295f20129e2ef37059 to your computer and use it in GitHub Desktop.
vimdiff cheat sheet

vimdiff cheat sheet

##vimdiff commands Keys

]c :                 - next difference
[c :                 - previous difference
do                   - diff obtain
dp                   - diff put
zo                   - open folded text
zc                   - close folded text
<CTRL>-W W           - Switch active window
<CTRL>-W <direction> - Switch to window
<CTRL>-W =           - Equalize windows size

Commands and settings

:diffupdate          - re-scan the files for differences
:set diffopt+=iwhite - Ignore whitespace

git mergetool

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment