------------------------------------------------------------------------------- Diff -- comparing files and finding differences For comparing english text files see "info/misc/word_diff.txt" ------------------------------------------------------------------------------- Text/Terminal Diff diff The core program implementing an very efficent Diffence engine However it was ariginally limited to purely line-by-line differences. However the GNU version has updated and provided lots more options including colored diff output. -w ignore whitespace in differences colordiff Colored Diff output Example: colordiff file1 file2 | less -R diff -u file1 file2 | colordiff | less -R Add an alias alias diff=colordiff vimdiff file1 file2 Side-by-side diff in a line editor Very glary colors (due to limited terminal colors) Best to start with a wide terminal. Not Recommended unless limited to terminal windows For user manual :help 08.7 (windows with vimdiff) Alturnate startup :edit file1 :vertical diffsplit file2 diff commands... ]c [c -- jump forward/backward [count] changes do -- get difference from other buffer (":diffget") dp -- put difference into other buffer (":diffput") Ranges can be used with ':' versions :diffupdate -- update diff view if changes did not sync window panes CTRL-W = -- equalize panes fold commands... za -- open/close folds zA -- open/close folds recursivally zo zc -- open and close folds zM zR -- open and close all folds zn zN -- open and remember, close to as they were mouse click -- open or close fold ydiff view colored, incremental "diff -y" (side-by-side) diff in a Git workspace vbindiff difference in binary files in hex and ascii ------------------------------------------------------------------------------- Graphical Diff diffuse A single file python program (but with extra optional icons) Colors are muted and not over the top, is it is in some diffs. The overveiw display of blocks is side by side, making major differences between files easy to spot and jump to. In place file editing and use of control-arrows to merge blocks. I find this about the best graphical file difference program. Doing not try to over do things with 'fancy' scrolling mechanics meld Becomming the default Linux graphical file difference program Overview map of exach file is separated by EVERYTHING! making comparing the overall state of the files very difficult. Files do not contain 'gaps' where lines from the other file would be inserted, which can make reading and editing an individual file easier. However to handle that gap, a large middle area graphically showing how the files relate, with some very wierd scrolling to keep alignment. This scrolling can cause sudden jumps over large blocks, making looking at those blocks difficult without going into edit mode for that block. gvimdiff As per terminal vimdiff, but in its own window. Very glary colors. Not recommended... tkdiff Simplistic, and horible colored diff with character changes highlighted Different colors and flashing re-coloring based on the block you are in. No inplace file editing. YUCK! Alternatives not looked at List of other diff tools, from command: git mergetool --tool-help Some of these may be terminal, or windows only. kdiff3 xxdiff araxis codecompare deltawalker diffmerge ecmerge emerge examdiff opendiff tortoisemerge winmerge ------------------------------------------------------------------------------- Word Diff Also see "info/misc/word_diff.txt" wdiff Front end to GNU diff Example: wdiff -n file1 file2 | colordiff dwdiff dwfilter ------------------------------------------------------------------------------- Other diffs and diff utilities splitdiff split seperate diff patches (diff -u) to seperate files diffmark merge XML (markup) differences komparator comapre and merge two directories looking for duplicated files and empty folders (may as well use rsync or unison really) -------------------------------------------------------------------------------