Skip to content

Instantly share code, notes, and snippets.

@samiraguiar
Forked from mattratleph/vimdiff.md
Last active July 2, 2021 16:10
Show Gist options
  • Save samiraguiar/d9e65d60cc8b8105bbf677f9aaf58d1f to your computer and use it in GitHub Desktop.
Save samiraguiar/d9e65d60cc8b8105bbf677f9aaf58d1f to your computer and use it in GitHub Desktop.
vimdiff cheat sheet

vimdiff cheat sheet

##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.

##vimdiff commands

]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

Moving between windows
    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
    
Moving windows
    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

run git diff with vimdiff

  git difftool --tool=vimdiff --no-prompt <commit> <commit>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment