Regarding code formatting I\'m kind of purist :). I very often remove unnecessary white spaces (lines with only ws, ws at the end of lines etc). I even have set vim to show
My version of git diff already seems to do this - I have git 1.7.4.1 and have set color.ui = auto.
git diff
color.ui = auto